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

    核对表:主要的构建实践

    编码

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

    团队工作

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

    质量保证

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

    工具

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

    要点

    • 每种编程语言都有其优点和弱点。要知道你使用的语言的明确优点和弱点
    • 在开始编程之前,做好一些约定。“改变代码”使之符合这些“约定”是几乎不可能的
    • “构建的实践方法”的种类比任何单个项目能用到的要多。有意识地选择最适合你的项目的时间方法
    • 问问你自己,你采用的编程实践是对你所用的编程语言的正确响应,还是受它的控制?清记得“深入一种语言去编程”,不要仅“在一种语言上编程”
    • 你在技术浪潮中的位置决定了哪种方法是有效的——甚至是可能用到的。确定你在技术浪潮中的位置,并响应调整计划和预期目标
  • 相关阅读:
    Ubuntu 18.04 初始化(server版本 )
    named主从环境部署
    CentOS 源码安装svn
    端口状态
    进程状态
    top命令详解
    gitlab部署
    day16
    day15
    day14
  • 原文地址:https://www.cnblogs.com/taceywong/p/7108741.html
Copyright © 2011-2022 走看看