代码整洁之道

代码既是写给机器看的,也是写给别人看的。写出优美,让人阅读友好的代码,十分重要。以下是一些整洁代码的心德。

使用数组代替switch分支语句降低圈复杂度

在服务器开发时,很多时间会采用数组代替switch分支语句,用来降低圈复杂度。

1
2
3
4
5
6
7
8
9
function registerCallbackFunc (code, func)
if code == nil then
return
end
if func == nil then
return
end
callbackFuncMgr[code] = func
end

圈复杂度

在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为线性无关的路径条数,即合理的预防错误所需测试的最少路径条数。圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系。
如果一段源码中不包含控制流语句(条件或决策点),那么这段代码的圈复杂度为1,因为这段代码中只会有一条路径;如果一段代码中仅包含一个if语句,且if语句仅有一个条件,那么这段代码的圈复杂度为2;包含两个嵌套的if语句,或是一个if语句有两个条件的代码块的圈复杂度为3。

缩写习惯

尽量不要用自定义的缩写,可读性排第一位,但可以用一些约定俗成的常见缩写。

判断

作判断时尽量用<判断

1
2
if 1000 < check and check < 100000  then
end

这样做可以对照时间线,习惯一目了然
捕获

一个函数只做一件事情

不要把所有鸡蛋放到一个篮子里,减少段和段之间耦合联系性。


Al mejor escribano se le va un borrón.