1.命名变量(变量名长度在 10 到 16 个字母,COBOL 程序最容易调试);
2.较长的名字适于较常使用的变量或全局变量。而较短的名字则适于局部变量或循环变量,但短名字会产生许多问题,有些程序员把避免使用它们作为防错性编程的准则;
3.含有带有计算值的变量:totals,averages,maximums 等等。如果你用限定词诸;如(Ttl,Sum,Avg 等)来改动变量,那要把它们放在最后
TtlRevenue,SumExpense,AvgRevenue ;容易混淆 PK RevenueTtl、ExpenseSum、RevenueAvg; 可读性更好;(胜出)
一般用count表示总数,使用index表示某一个; 如 SalesCount 表示的是卖出的总数,而 Saleslndex 则指的是卖出的某一种特定商品
4.善用反义词,不是乱用
常用的 |
错误示范 | |||
add/remove |
begin/end |
create/destroy |
first/end | |
insert/delete | first/last |
get/release |
||
increment/decrement | put/get | up/down | ||
lock/unlock |
min/max | next/previous | ||
old/new | open/close | show/hide | ||
source/destination | source/target | start/stop |
5.简单循环使用i,j,k等短变量,多重循环使用富有意义的变量名
6.状态变量的命名,最好是使用预先命名的常量或枚举类型来使用这种方法
if( PrintFlag == 16 )...
if( StatusFlag & 0x0F )...
这种如果不加注释,很难明白为什么PrintFlag == 16 16是什么? 更好的写法
var printNum = 16;
if( PrintFlag ==printNum )...,
这种方式可以有助于更好的阅读理解
7.临时变量 -- 尽管是临时,还是希望有一个标志,希望后面使用的时候,及时了解这个变量的意义;而不是完全使用无意义的temp或者val等;
8.逻辑变量名
Done。用 Done 来表示某项工作已经完成了。这个变量可以表示子程序或循环是否已经完成。当某项工作没有完成时,把 Done 的值赋为 False;当某项工作已经完成时,把 Done 的值赋为 True。
Error。用 Error 来表示发生了错误。当没有错误时将 Error 的值赋为 False;当有错误时将其赋为 True。
Found。用 Found 来表示是否找取了某个值。当搜寻数组来查找某一值或搜寻某一文件表查找某一雇员的识别卡时,没有找到某一值时将其值赋为 False,而一旦找到这个值。则把 Found值赋为 True。
Success。用 Success 来表示某一操作是否已成功地完成。当某一程序无法完成时,将 Success的值置为 False;而当某一操作已经完成时,将 Success 的值置为 True。如果可能的话,可以用比 Success 更准确更具有表达力的名称来代替它,
用这个新名称应可以精确地表达出到底是什么已 成功地完成了。比如当某一程序完成处理后就可以认为是成功时,就可以用Processingcomplete 来代替 Success。如果当找到某一值就可以为程序是成功的时,可以用 Found来代替它。
Status_OK 代替status
sourceFileAvailable 代替Source
使用上面的原因是,这些都表示非真即假的状态,这样不会有第三种状态
9.枚举类型命名
type COLOR is ( COLOR_RED, COLOR_GREEN,COLOR_BLUE );
type PLANET is ( PLANET_ERATH, PLANET_MARS, PLANET_VENUS );
10.关于缩写的建议
1)不要通过拿掉单词中的一个字母进行缩写;多敲一个字母费不了多少精力,而由此损失的可读性却往往是巨大的。如把 June 写成“Jun”或“July”、“Jul”等都是不值得的。而且如果总是使用这种只省略一个字母的缩写,很容易使人忘记你是否省略掉了一个字母。因此,或者多省略几个字母,或者使用全称。
2)缩写应该保持一致;应坚持使用同一缩写。例如,是使用 Num 或者 No,但不要两者混用。同样,也不要时而缩写某一名称,又时而不缩写。比如,假设已经用了 Num 就不要再同时使用Number 了。
3)使用容易发音的缩写;如应使用 xPos 而不是 Xpsn,用 CurTotal 而不是 ntTtl。可以用能否在电话中让对方明白的方法来检验缩写名称,如果不能的话,最好换一个比较容易说的缩写。
4)避免会引起错误发音的组合; 如为表示 B 的结束,应使用 ENDB 而不要使用 BEND。如果使用了良好的分隔技术,则不必理会这条准则。如 B_END,BEnd 或 b_end 都不会导致错误发音。