《程序员修炼之道》Tips摘录07

第8章 注重实效的项目 Pragmatic Projects

41. 注重实效的团队

提示60: Organize Around Functionality,Not Job Functions
围绕功能、而不是工作职务进行组织

42. 无处不在的自动化

提示61: Don't Use Manual Procedures
不要使用手工流程

哪些地方可以自动化:

  1. 项目编译
  2. 生成代码
  3. 回归测试

43. 无情的测试

提示62: Test Early.Test Often.Test Automatically.
早测试,常测试,自动测试

“编一点,测一点”是Smalltalk世界里流行的一句话

提示63: Coding Ain't Done'Til All the Tests Run
要到通过全部测试,编码才算完成

测试什么,你需要进行的测试的主要类型有:

  1. 单元测试
  2. 集成测试
  3. 验证和校验(validation and verification)
  4. 资源耗尽、错误及恢复
  5. 性能测试
  6. 可用性测试

代码可能遇到的一些限制包括:

  1. 内存空间
  2. 磁盘空间
  3. CPU带宽
  4. 挂钟时间
  5. 磁盘带宽
  6. 网络带宽
  7. 调色板
  8. 视频分辨率

怎样测试,包括:

  1. 回归测试
  2. 测试数据
  3. 演练GUI系统
  4. 对测试进行测试
  5. 彻底测试

提示64: Use Saboteurs to Test Your Testing
通过“蓄意破坏”测试你的测试

提示65: Test State Coverage,Not Code Coverage
测试状态覆盖,而不是代码覆盖

提示66: Find Bugs Once
一个bug只抓一次

44. 全都是写

提示67: Treat English as Just Another Programming Language
把英语当作又一种编程语言

提示68: Build Documentation In,Don't Bolt It On
把文档建在里面,不要拴在外面

变量名应该精心选择,并且有意义。
例如,foo是没有意义的,doit、manager或stuff也是如此。

比无意义的名称更糟糕的是误导人的名称。

45. 极大的期望

提示69: Gently Exceed Your Users'Expectations
温和地超出用户的期望

46. 傲慢与偏见

提示70: Sign Your Work
在你的作品上签名

你可能感兴趣的:(《程序员修炼之道》Tips摘录07)