选择主要的构建实践方法(转)

构建有一部分准备工作,就是决定在这么多的可选的实践方法中,你想要强调哪些。某些项目使用结对编程以及测试驱动开发,而其他项目使用单人开发和形式化检查。这两种技术组合都有可能发挥作用,取决于项目的特定环境。

下面的核对表总结了在构建过程中,应该有意识地使用或者排斥的特定编程实践。这些实践的细节遍布全书。

Checklist: Major Construction Practices

核对表:主要的构建实践

编码

  q 你有没有确定,多少设计工作将要预先进行,多少设计工作在键盘上进行(在编写代码的同时)?

  q 你有没有规定诸如名称、注释、代码格式等编码约定

  q 你有没有规定特定的由软件架构确定的编码实践,比如如何处理错误条件、如何处理安全性事项、对于类接口有哪些约定、可重用的代码遵循哪些标准、在编码时考虑多少性能因素等?

  q 你有没有找到自己在技术浪潮中的位置,并相应调整自己的措施?如果必要,你是否知道如何深入一种语言去编程,而不受限于语言(仅仅在一种语言上编程)?

团队工作

  q   你有没有定义一套集成工序——即,你有没有定义一套特定的步骤,规定程序员在把代码check in(签入)到主源码(代码库)中之前,必须履行这些步骤?

  q 程序员是结对编程、还是独自编程,或者这二者的某种组合?

质量保证

  q 程序员在编写代码之前,是否先为之编写测试用例?

  q 程序员会为自己的代码写单元测试吗(无论先写还是后写)?

  q 程序员在check in代码之前,会用调试器单步跟踪整个代码流程吗?

  q 程序员在check in代码之前,是否进行集成测试(integration-test)?

  q 程序员会复审(review)或检查别人的代码吗?

工具

  q 你是否选用了某种版本控制工具?

  q 你是否选定了一种语言,以及语言的版本或编译器版本?

  q 你是否选择了某个编程框架(framework,如J2EEMicrosoft .NET),或者明确地决定不使用编程框架?

q             q   你是否决定允许使用非标准的语言特性?

  q 你是否选定并拥有了其他将要用到的工具——编辑器、重构工具、调试器、测试框架(test framework)、语法检查器等?
 

Key Points

要点
■        
每种编程语言都有其优点和弱点。要知道你使用的语言的明确优点和弱点。

■         在开始编程之前,做好一些约定(convention)。改变代码使之符合这些约定是近乎不可能的。

■          “构建的实践方法的种类比任何单个项目能用到的要多。有意识地选择最适合你的项目的实践方法。

■         问问你自己,你采用的编程实践是对你所用的编程语言的正确响应,还是受它的控制?请记得深入一种语言去编程,不要仅在一种语言上编程

■         你在技术浪潮中的位置决定了哪种方法是有效的——甚至是可能用到的。确定你在技术浪潮中的位置,并相应调整计划和预期目标。

posted on 2008-11-18 14:04  Tech-Worm  阅读(158)  评论(0编辑  收藏  举报

导航