《重构》要点列表
来源:互联网 发布:淘宝网店可以注销吗 编辑:程序博客网 时间:2024/05/18 03:40
转载自http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=844&uid=77767
摘自书尾:
1.如果你发现自己需要为程序添加一个功能,而代码的结构使你无法很方便地达到目的,那就先重构那个程序,使功能的添加比较容易进行,然后再添加那个功能。
2.重构前,先检查自己是否有一个可以依靠的测试机制。这些测试必须有自我检测能力。
3.重构技术就是以微小的步伐修改程序。如果你犯下错误,很容易便可发现它。(那就直接从版本控制系统roll back 一下得了)
4.任何一个傻瓜都能写出计算机可以理解的代码。唯有写出让人能够容易理解的代码才是真正优秀的程序员。
5.重构:对软件内部结构的一种调整,目的是在不改变软件外在表现的前提下,提高代码的可读性,可理解程度,降低维护和修改成本。
6.数不过三,三则重构。
7.不要过早发布接口。请谨慎修改你的代码的各种规范,使重构的过程更加顺畅,不要进行到了一半再折回来修改以前的代码。
8.当你感觉需要撰写注释时,先尝试重构代码使注释显得多余。
9.确保所有测试都完全自动化,让它们检查自己的测试结果。
10.一套测试就是一个强大的bug检测器,能够大大缩减查找bug所需要的时间。
11.频繁地进行测试。每次测试请把测试也考虑进去--每天至少执行测试一次。
12.每当你收到bug报告,请先写一个单元测试来暴露这本bug。
13.编写未臻完善的测试并实际运行,好过对完美测试的无尽等待。
14.考虑可能出错的边界条件,把测试火力集中在那儿。
15.当事情被大家认为应该会出错时,别忘了检查是否抛出了预期的异常。
16.不要因为测试无法捕获所有bug不就写测试,因为测试的确可以捕捉到到大多数bug。
1.如果你发现自己需要为程序添加一个功能,而代码的结构使你无法很方便地达到目的,那就先重构那个程序,使功能的添加比较容易进行,然后再添加那个功能。
2.重构前,先检查自己是否有一个可以依靠的测试机制。这些测试必须有自我检测能力。
3.重构技术就是以微小的步伐修改程序。如果你犯下错误,很容易便可发现它。(那就直接从版本控制系统roll back 一下得了)
4.任何一个傻瓜都能写出计算机可以理解的代码。唯有写出让人能够容易理解的代码才是真正优秀的程序员。
5.重构:对软件内部结构的一种调整,目的是在不改变软件外在表现的前提下,提高代码的可读性,可理解程度,降低维护和修改成本。
6.数不过三,三则重构。
7.不要过早发布接口。请谨慎修改你的代码的各种规范,使重构的过程更加顺畅,不要进行到了一半再折回来修改以前的代码。
8.当你感觉需要撰写注释时,先尝试重构代码使注释显得多余。
9.确保所有测试都完全自动化,让它们检查自己的测试结果。
10.一套测试就是一个强大的bug检测器,能够大大缩减查找bug所需要的时间。
11.频繁地进行测试。每次测试请把测试也考虑进去--每天至少执行测试一次。
12.每当你收到bug报告,请先写一个单元测试来暴露这本bug。
13.编写未臻完善的测试并实际运行,好过对完美测试的无尽等待。
14.考虑可能出错的边界条件,把测试火力集中在那儿。
15.当事情被大家认为应该会出错时,别忘了检查是否抛出了预期的异常。
16.不要因为测试无法捕获所有bug不就写测试,因为测试的确可以捕捉到到大多数bug。
- 《重构》要点列表
- 重构要点总结
- 重构 一书要点
- 重构 重构列表
- Refactorings(重构)列表
- 重构列表
- 重构列表
- JavaScript 列表重构
- 重构列表 -- 三
- 页面重构中的组件制作要点
- 代码重构的时机与要点
- 重构读书笔记:重构列表_20041028
- 重构方法简单列表
- 《重构—改善既有代码的设计》要点
- 重构:改善既有代码的设计 要点总结
- 重构摘要5_重构列表
- 模式与重构 总结列表
- 行情列表重构 TabBar&NavBar&tableView
- 三种东西永远不要放到数据库里
- 使用sql语句建立与删除链接服务器及执行数据库操作
- Eclipse中安装反编译插件jadclipse
- 【鸟哥的私房菜摘录】SHELL脚本编程
- 建表时的常见约束
- 《重构》要点列表
- 网站DDOS攻击防护实战老男孩经验心得分享
- eclipse插件项目中的后缀名为.exsd文件的作用
- OpenGL 环绕和绘制三角形
- PS课堂笔记(截图)
- hdU 2222 Keywords Search(AC自动机)
- Which responsive images solution should you use?
- cas集成oauth,用新浪微博账号登录示例
- java 建造者模式