关键词:遗留代码,代码修改,测试
遗留代码
从其他人或者其他版本获得的代码。
特点
架构设计差
代码风格不一致
文档少和模糊
非常有价值,成功代码
修改遗留代码原因
新功能
Bug
重构
优化
Risky change 修改风险
加快理解代码实现
如何防止破坏代码
Sensing & separatin 感知和隔离
修改耗时的原因:
修改正确吗
流程
工具
Lexical analysis
命名, 代码风格
Flow/path analysis
空指针,无用代码
C++ - Covtool, gcov
C++ - CppUTest. so mycoworkers don‘t break my codes. 防止同事误操作
Dependency analysis
架构
C++- (Sp)Lint
Verification
C++- Jenkins (Shell/Make)
单元测试,保持代码整洁
? test individual units 测试粒度
? isolate each part 隔离每个单元
? show that the individual parts are correct 正确性验证
? regression testing 回归测试
? sort of living documentation 动态文档
? executed within a framework 自动化框架
It‘s an hard work but (usually) not impossible !
Working.Effectively.with.Legacy.Code
原文地址:http://blog.csdn.net/cutter2002/article/details/45269507