zoukankan      html  css  js  c++  java
  • 《构建之法》第四章学习笔记

    1. 代码规范

    每个人对于什么是“好”的代码规范未必认同,这时我们很有必要给出一个基准线—什么是好的代码规范和设计规范

    计算机只关心编译生成的机器码,你的程序采用哪种缩进风格,变量名有无统一的规范等,与机器码的执行无关。但是,做一个有商业价值的项目,或者在团队里工作,代码规范相当重要。“代码规范”可以分成两个部分:

    代码风格规范——主要是文字上的规定,看似表面文章,实际上非常重要

    代码设计规范——牵涉到程序设计、模块之间的关系、设计模式等方方面面的通用原则

    2. 代码风格规范

    代码风格的原则是:简明,易读,无二义性

    断行与空白的{}行

    这里作者推荐每个“{”和“}”都独占一行。

    在这里,我还是采用Linux中的风格,除了函数和类。

    if ( condition ) {
    
       DoSomething();
    
    } else {
    
    DoSomethingElse();
    
    }
    

    注释

    不要注释程序是怎么工作的(How),程序本身就应该能说明这一问题。

    注释是为了解释程序做什么(What),为什么这样做(Why),以及要特别注意的地方。

    复杂的注释应该放在函数头,很多函数头的注释都用来解释参数的类型等,如果程序正文已经能够说明参数的类型in/out,就不要重复!

    注释要随着程序的修改而不断更新,一个误导(Misleading)注释往往比没有注释更糟糕。

    代码设计规范

    代码设计规范不光是程序书写的格式问题,而且牵涉到程序设计、模块之间的关系、设计模式等方方面面。

    函数

    现代程序设计语言中的绝大部分功能,都在程序的函数(Function、Method)中实现。关于函数,最重要的原则是:只做一件事,并且要做好。

    goto

    函数最好有单一的出口,为了达到这一目的,可以使用goto。只要有助于程序逻辑的清晰体现,什么方法都可以使用,包括goto。

    错误处理

    当程序的主要功能实现后,一些程序员会乐观地估计只需要另外20%的时间,给代码加一些错误处理就大功告成了,但是这20%的工作往往需要全部项目80%的时间。

    参数处理

    在Debug版本中,所有的参数都要验证其正确性。在正式版本中,对从外部(用户或别的模块)传递过来的参数,要验证其正确性。

    断言

    如何验证正确性?那就要用断言(Assert)。

    当你觉得某事肯定如何时,就可以用断言。

    如果你认为某事可能会发生,这时就要写代码来处理可能发生的错误情况。

    3.代码复审

    代码复审的形式

    代码复审的目的在于:

    找出代码的错误,比如:

         1)编码错误,比如一些碰巧骗过了编译器的错误
    
         2)不符合团队代码规范的地方
    

    发现逻辑错误,程序可以编译通过,但是代码的逻辑是错的

    发现算法错误,比如使用的算法不够优化,边界条件没有处理好等

    发现潜在的错误和回归性错误——当前的修改导致以前修复的缺陷又重新出现

    发现可能需要改进的地方

    教育(互相教育)开发人员,传授经验,让更多的成员熟悉项目各部分的代码,同时熟悉和应用领域相关的实际知识。

  • 相关阅读:
    关于oracle小数和整数混合排序错误问题
    oracle 格式转换 <行转列列转行>
    Postgresql 配置文件详解
    Postgresql 同步流复制
    Postgresql 安装
    mongodb 复制集 维护小结
    mongodb 角色总结
    mongodb 安全认证
    SqlServer实时数据同步到mysql
    批量修改在索引中增加字段
  • 原文地址:https://www.cnblogs.com/9223lx/p/8506219.html
Copyright © 2011-2022 走看看