如何阅读修改代码
2013-12-04 12:25
190 查看
开发职业生涯中,每个人除了操刀进行全新的设计开发外,更多的时间是在进行代码的阅读和维护,也就是我们常遇到的所谓遗留代码,对于遗留代码的问题,如何掌握和修改是需要一定的知识和经验积累的,幸好前辈们已经提供了很多的阅读图书,借助这些知识,站在前人的肩膀上,我们可以看的更远,走的更远。
然而大部分情况是遗留代码都是比较混乱,文档和代码不匹配等种种问题,此时只能是分析和验证进行熟悉,综合使用静态分析、动态分析的方式进行处理,如下的几个工具可以辅助进行
v Source Insight
n 可以查看代码的关联关系和应用等各种内容
v Visual Studio建模工具/Together工具
n 对于类图、时序图等可以自动反向工程[从代码生成图形],方便理解
如果开源的文档和社区比较完善的话,那这方面的资料相对都是非常完善的,只要精通这些基本可以掌握了。
相对不太完善的就需要花功夫学习了,此时英语社区非常有用,如stackoverflow等,在这些社区提问和阅读别人的使用经验可谓事半功倍。
但由于在引用这些软件的时候,由于版本的差异,这个问题需要特别注意,否则有时会出现,自己花费了较长的时间解决的问题,其实在新的版本中已经提供了解决方案了。具体和新的版本合并升级的问题可以使用如下的工具辅助比较差异。
v Beyond Compare
v Diff
版本升级特别需要注意兼容性的问题,在进行之前一定要使用TDD进行可用性的验证。
这个提供了对开源软件的阅读方法的指导。
v 新增功能
v 修改bug
v 改善或完善:改善设计或优化资源使用
真正操刀的话,需要“胆大心细”,并配合相关的辅助措施。
首先是针对理解的内容构建单元测试,覆盖的幅度越大越好,那么下一步
v 胆大:对现有的代码外味道要敢于修改,否则Bad Smell的这些代码会变成越来越大的维护梦魇
v 心细:通过单元测试小小步迭代,对兼容等问题已经要有多种准备和实施步骤
修改代码的艺术 http://product.china-pub.com/36363
代码阅读
已有的公司的私有代码阅读
如果内部有文档和历史负责人的话,这个最好办,只要和对应的师傅进行求教和学习即可。然而大部分情况是遗留代码都是比较混乱,文档和代码不匹配等种种问题,此时只能是分析和验证进行熟悉,综合使用静态分析、动态分析的方式进行处理,如下的几个工具可以辅助进行
v Source Insight
n 可以查看代码的关联关系和应用等各种内容
v Visual Studio建模工具/Together工具
n 对于类图、时序图等可以自动反向工程[从代码生成图形],方便理解
开源软件
由于现在开源软件的蓬勃发展,现在很多产品和项目中使用了开源的工具和软件等,对于此类,需要注意如果开源的文档和社区比较完善的话,那这方面的资料相对都是非常完善的,只要精通这些基本可以掌握了。
相对不太完善的就需要花功夫学习了,此时英语社区非常有用,如stackoverflow等,在这些社区提问和阅读别人的使用经验可谓事半功倍。
但由于在引用这些软件的时候,由于版本的差异,这个问题需要特别注意,否则有时会出现,自己花费了较长的时间解决的问题,其实在新的版本中已经提供了解决方案了。具体和新的版本合并升级的问题可以使用如下的工具辅助比较差异。
v Beyond Compare
v Diff
版本升级特别需要注意兼容性的问题,在进行之前一定要使用TDD进行可用性的验证。
参考图书
“代码阅读” http://product.china-pub.com/18134这个提供了对开源软件的阅读方法的指导。
代码修改
代码读懂了,理解了,那就要进行代码的修改了,代码的修改其实主要是下面的原因:v 新增功能
v 修改bug
v 改善或完善:改善设计或优化资源使用
真正操刀的话,需要“胆大心细”,并配合相关的辅助措施。
首先是针对理解的内容构建单元测试,覆盖的幅度越大越好,那么下一步
v 胆大:对现有的代码外味道要敢于修改,否则Bad Smell的这些代码会变成越来越大的维护梦魇
v 心细:通过单元测试小小步迭代,对兼容等问题已经要有多种准备和实施步骤
参考图书
重构 http://product.china-pub.com/196374修改代码的艺术 http://product.china-pub.com/36363
相关文章推荐
- 如何阅读别人的代码 [原]
- 光脚丫学LINQ(024):如何通过修改DBML文件生成自定义代码
- 如何修改配置客制化的代码
- 你该如何去阅读拥有海量代码行的项目
- 如何修改frameworks层代码并使修改有效
- 如何修改Xcode里代码显示字体
- 如何更好的阅读代码(5)
- 手机使用了QWERTY keypad,想要在idle home screen时长按SHIFT键进行静音模式切换,该如何修改代码
- 如何阅读代码
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改
- 如何在WeX5中使用自己的tomcat并在修改代码后自动同步
- 如何阅读别人的代码(一)
- 如何阅读别人的代码1
- 如何通过代码修改web.config文件
- 【暂未解决】Eclipse中调试Java代码期间如何修改值
- 如何阅读luajit的代码——用vs调试篇
- 如何阅读代码
- VB,Visual Basic如何修改代码文本大小和字体
- 如何阅读他人的程序代码【转载】
- 学习能力的构建(2)-如何阅读代码