编码:
1、你有没有确定,多少设计工作要预先进行,多少设计工作在键盘上进行(在编写代码的同时)
2、你有没有规定诸如名称、注释、代码格式等“代码约定”?
3、你有没有规定特定的由软件架构确定的编码实践,比如如何处理错误条件、如何处理安全性事项、对于类接口有哪些规定、可重用的代码遵循哪些标准、在编码时考虑多少性能的因素?
4、你有没有找到自己在技术的浪潮的位置,并相应调整自己的措施?如果必要,你是否知道如何“深入一种语言去编程”,而不受限于语言(仅仅“在一种语言上编程”)
团队工作
1、你有没有定义一套集成工序—即,你有没有定义一套特定的步骤,规定程序员把代码(Check in)迁入到主源码(代码库)中之前,必须履行这些步骤?
2、程序员是结对编程、还是独自编程或者这二者的某种组合?
质量保证
1、程序员编写代码之前,是否先位置编写好测试用例?
2、程序员胡伟自己的代码写单元测试吗(无论先写还是后写)?
3、程序员Check in 代码之前,会用调试器但不追踪整个代码流程吗?
4、程序员Check In 代码之前,是否进行集成测试(integration-test)?
5、程序员会复审(review)或检查别人的代码吗?
工具
1、你是否选用了某种版本控制工具?
2、你是否选定了一种语言,以及语言的版本或编译器版本?
3、你是否选择了某个编程框架(framework,如j2ee或microsoft.net),或者明确地决定了不使用编程框架
4、你是否决定允许使用非标准的语言特性?
5、你是否选定并拥有了其他要用到的工具—编译器、重构工具、调试器、测试框架(test-framework)、语法检查器等?
本文摘自<代码大全>