• 一个Web报表项目的性能分析和优化实践(五):重构有助于性能优化么?


    项目从初次开发到现在,已经快3年了。期间,有N个工程师参与过。

    需求方面:增加减少,反反复复,无数次;人力方面:增加减少,不稳定;时间方面:功能开发着急上线,Bug开发紧急修复。

    因此,代码臃肿,问题颇多。

    自从毕业加入到项目,深感代码质量问题对项目开发效率的影响,因此经常会对项目进行“重构”和“优化”。

    主要经历了2次大的重构和无数次小的改进。

    今天,特别整理下,希望今后可以做得更好。

    重构事项

    1.统一标准。

      包、类、方法、字段等命名按照Java标准规范那样,统一命名。

    2.重新组织代码。

    a. 将项目代码,按照业务逻辑等原则,重新组织到不同的包中。

    b. 按照一定的原则,调整类中的方法。

    比如对于数据访问层Dao的方法,严格按照查询、增加、修改、删除这样的顺序组织。

    而且,使用和修改频率高的代码,放在靠前的位置。

    3.增加必要的注释。

    对于那些业务比较复杂,容易混淆的代码,加上清晰简洁的注释。

    4.删除无用的代码。

    将废弃的功能代码,无用的注释,先用@Deprecated标记,过段时间,然后彻底删除。

    5.提高代码复用。

    Dao层:编写一个实现了常用CRUD功能的BaseDao。

    工具层:对常用的工具代码,进行整理,统一到工具库中。

    6.清理数据库。

    a.将数据库中没有用到的表、字段全部删除。

    b.优化表的数据类型。比如将longtext的字段,修改为varchar(20)。

    c.规范化表和字段的命名。比如用户表用User,用户地址用userAddress表示。

    同时,Java代码和实体配置文件,尽可能与数据库表相统一。

    参考建议

    更多重构和优化事项,不再赘述。

    有兴趣的同学,可以看看《代码大全》、《重构》、《编写可读代码的艺术》这3本书。

    重构有助于性能优化么

    我只能说,有一定的帮助。

    a.重复代码比较少,注释清晰,命名合理的代码,看起来“赏心悦目”。

       本质上,不太可能提高系统性能,但是算得上是性能优化的准备工作。

       项目重构后,开发更有效率,Bug更少,这样才可能有更多的时间去做性能优化。

    b.去掉数据库表中无用的字段,这还是有点作用的。

     至少,在SQL查询的时候,比如select *,会少查询一些字段。

    见仁见智

    重构是否有助于性能优化,是一个见仁见智的问题。

    根据我有限的重构和优化经验,我只能说,“重构有助于优化性能,但作用有限”。

    打个比喻,当你学画画,想要画一个苹果的时候,“把苹果洗干净”是否有助于你画出一个逼真的苹果呢?

    “把苹果洗干净”就是代码重构的过程。

    “画出一个逼真的苹果”就是性能优化的过程。

    你是怎么看待这个问题的呢?愿闻其详...

    相关阅读

    一个Web报表项目的性能分析和优化实践

    原文参见http://FansUnion.cn/articles/3109 (小雷网-FansUnion.cn)

  • 相关阅读:
    iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewCon[转]
    数字统计(0)<P2010_1>
    数字反转(0)<P2011_1>
    质因数分解(0)<P2012_1>
    记数问题(0)<P2013_1>
    珠心算测验(0)<P2014_1>
    金币(0)<P2015_1>
    归并排序
    循环语句(while语句和do...while语句)
    循环语句(for语句的用法)
  • 原文地址:https://www.cnblogs.com/qitian1/p/6463477.html
Copyright © 2020-2023  润新知