zoukankan      html  css  js  c++  java
  • 《代码大全》阅读笔记-4-关键的“构建”决策

    核对表:主要的构建实践

    编码

    • 你有没有确定多少设计工作将要预先进行,多少设计工作在键盘上进行(在编写代码的同事)?
    • 你有没有规定诸如名称、注释、代码格式等“编码约定” (编码规范)
    • 你有没有规定特定的由软件架构确定的编码实践,比如如何处理错误条件,如何处理安全性事项,对于类接口有哪些约定、可重用的代码遵循哪些标准,在编码实考虑多少性能因素
    • 你有没有找到自己在技术浪潮中的位置,并相应调整自己的措施?如果必要,你是否知道如何“深入一种语言去编程”,而不受限于语言*(仅仅“在一种语言上编程”)

    团队工作

    • 你有没有定义一套集成工序——即,你有没有定义一套特定的步骤,规定程序员在把代码check in(签入)到主源码(代码库)中之前,必须履行这些步骤
    • 程序员是结对编程、还是独自编程,或者这二者的某种组合

    质量保证

    • 程序员在编写代码之前,是否先为之编写测试用例 (测试驱动)
    • 程序员会为自己的代码写单元测试吗?(无论先写还是后写)、
    • 程序员在check in 代码之前,会调用调试器但不追踪整个代码流程吗?
    • 程序员在check in 代码之前,是否进行集成测试(integration-test)
    • 程序员会复审(review)或检查别人的代码吗?

    工具

    • 你是否选用了某种版本控制工具 (svn,git)
    • 你是否选定了一种语言,以及语言的版本或编译器版本
    • 你是否选择了某个编程框架(framework,如j2ee 、。net),或者明确地决定不使用编程框架
    • 你是否决定允许使用非标准的语言特性?(在使用非标准的情况下,要保证其整体迁移能力,比如hack了某一部分,要将其整体实现包括到项目内)
    • 你是否选定并拥有了其他将要用到的工具——编辑器、重构工具、调试器、测试框架、语法检查器?

    要点

    • 每种编程语言都有其优点和弱点。要知道你使用的语言的明确优点和弱点
    • 在开始编程之前,做好一些约定。“改变代码”使之符合这些“约定”是几乎不可能的
    • “构建的实践方法”的种类比任何单个项目能用到的要多。有意识地选择最适合你的项目的时间方法
    • 问问你自己,你采用的编程实践是对你所用的编程语言的正确响应,还是受它的控制?清记得“深入一种语言去编程”,不要仅“在一种语言上编程”
    • 你在技术浪潮中的位置决定了哪种方法是有效的——甚至是可能用到的。确定你在技术浪潮中的位置,并响应调整计划和预期目标
  • 相关阅读:
    摘录一下 上海富豪颜立燕拆借爱建资金路径曝光 暴富的关键词
    pixysoft.framework.security.sso 开发实录
    Pixysoft.Framework.Apis 开发实录
    动态加载Assembly的一系列恶心问题
    让我们开发的系统具有学习能力 我的突发奇想!
    利用RealProxy,强化AOP,在”牛粪“的周围插上”鲜花“
    Pixysoft.Applications.BugTraces 开发实录
    打造第二代测试框架TestDriven 2.0(四)—— 代码对象化建模技术
    软件工程革命三部曲 —— 外传 过程控制
    破解typemock 流水账
  • 原文地址:https://www.cnblogs.com/taceywong/p/7108741.html
Copyright © 2011-2022 走看看