铭鸿体育资讯网

最近在帮一家软件公司做一个应用管理软件优化工作。说一说我的感悟吧! 首先为什么要

最近在帮一家软件公司做一个应用管理软件优化工作。说一说我的感悟吧!
首先为什么要优化:卡顿、无反应、闪退等类似的问题。
对方的软件安装了,源代码也看了,短期内想把整个系统逻辑摸透也不现实,那就从问题着手吧!
整个诊断下来发现以下问题:
1、解决问题的思路上面,单个功能看没有问题的,但软件是先设计的,你的设计决定了代码。是一张表还是拆分处理,每一个字段加哪里都要反复推敲的。很明显的例子,在进行核心业务处理时,为了表格中的一个字段,前端进行了表格遍历查询,就是为了计算某个字段的值,导致的结果就是慢。这明显是设计上的问题,没有考虑到后面。
2、多次交互合并问题,很多人都会犯的毛病,需要什么就查什么,写入的时候也是一样的,按照步骤一个个提交,无论读写,一定要减少与服务器的请求,想办法一个动作一次性搞定。
3、有些看似不复杂的功能,页面上放了一堆控件和定时器,一个页面多的有10来个定时器,能用一个完成的,就不要两个,极简的压缩在压缩,我相信每一个都有用的,但至少有压缩的空间,遇到问题解决问题的做法,没有回到源头重新梳理问题。
4、巧妙化处理 由于系统集成了各种硬件,比如视频,有时候会闪退,SDK直接是厂家提供的demo,看上去的确没有问题,但时间长了就会闪退,导致主业务受影响,想办法做隔离,至少不会因为这些影响主程序。
5、SQL功底差 导致代码工作量大及性能低,没有发挥出SQL的优势。
6、写代码就像写作文,要有上下文的概念,要有数据铺垫的概念。
7、编程一定是有技巧的,很多时候不知道如何迭代,那是因为平时没有性能的概念,只追求完成。
经过一个礼拜的诊断、优化、整改和培训,系统明显有所改善。