代码大全笔记(一)

 这些天,趁着上课的时间一直在看《Code Complete》,说实话第一次在图书馆看到此书时确实令我纳闷,怎会有这样的书,竟敢号称代码大全?觉得应该会是本比较无聊之书吧,便于其擦肩而过了。直到有一次在豆瓣上偶然看到这本书的评价时才知道这本书所谓的“名不符实”。这确实是本实在的好书。对此书网上大家早已好评如潮,我就无需多说了。

现在我就写下我的一些读书感悟。
我读了第三部分和第七部分,便已获益匪浅了。看完这两部分后,我决定以后便按照这个风格来编写自己的代码,努力提高自己的代码质量

 

第三部分  第11章 变量名的力量

一、关于变量名

 1.如果你发现自己需要猜测某段代码的含义的时,那就要考虑为变量重新命名

 2.变量名一定要取得恰如其分,能够很好的表达出这个变量的含义,令人一看便懂,而不需要添加额外注释去解释程度,
    总的规则而言,是采用驼峰式命名法,如typeName,dataReady,不在名字中使用下划线和$。而对于具名常量,则
    全部使用大写字母并用下划线做分隔,如CONTROL_CHARACTER

 3.为循环变量的下标命名时,不使用i, j, k。而要使用那些符合规则2的名字。这样可以很好的避免很多问题:如想用j的时候却写了i。
    不然当到达三层的时候将会变得有些混乱。而最贱的办法就是想出一个比i, j, k更据描述性的例子来
  Java示例:简单的循环变量名

for (int i = 0; i < teamCount; i++) {
    for (int j=0; j < eventCount; j++) {
        score [ i ][ j ] = 0;
    }
}

  Java示例:嵌套循环中的好循环变量名

 
for ( int teamIndex = 0; teamIndex < teamCount; teamIndex ++ ) {
    for ( int eventIndex = 0; eventIndex < eventCount [ teamIndex ]; eventIndex ++ ) {
        score[ teamIndex ][ eventIndex ] = 0;
    }
}

 4.为临时命名,不要取一些temp之类的名,仍然是要符合规则2

 5.为布尔类型命名:
  1)典型的布尔变量名:done, error, found, success, ok
  2)使用肯定的布尔变量名:不要使用notFound等较难阅读的

 6.为常量命名:根据该常量所表示的含义,而不是该常量所具有的数值为该抽象事物命名。这样banding会比直接赋值要晚的多,切     更具灵活性

 7.应该避免的名字:
  1)避免使用令人误解的名字或缩写
  2)避免使用具有相似含义的名字,如recordNum和numRecords
  3)避免使用具有不同含义但却有相似名字的变量:clientRecs和clientReps这样的名字就不合适,应该修改其中一个
  4)避免在名字中使用数字
  5)避免在名字中拼错单词
  6)不要仅靠大小写来区分变量名
  7)不要使用于变量名含义完全无关的名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值