标签:
使用代码块if,不要使用后缀if。
例如,下面的就不好理解:
$sum+= $measurement if defined $measurement;
其实,它等于:
if(defined $measurement) {
$sum+= $measurement;
}
后缀if要保留给流程控制语句。
不要使用unless、for、while、until作为后缀。
绝对不要使用unless或until。
避免C风格的for语句。
避免在循环内替数组或散列标示索引。
循环内绝不要标示索引超过一次。
使用具名词法变量作为for循环迭代器。
总是以my声明for循环迭代器。
从旧列表产生新列表时要用map,不要用for。
寻找列表中的值时要用grep和first,不要用for。
转换列表时要用for,不要用map。
使用子程序调用把复杂列表转换分离出来。
绝不要在列表函数中修改$_。
避免级联的if。
级联的相等性测试时优先使用表格查找。
产生值时使用表格式的三元表达式。
不要使用do…while循环。
尽可能多、尽可能早地拒绝循环迭代。
不要为了浓缩控制而扭曲循环结构。
使用for和redo,不要用不规则计数的while。
替每个会显式离开的循环贴上标签,
然后对每个next、last、redo都使用该标签。
标签:
原文地址:http://www.cnblogs.com/xiaobin-hlj80/p/5188440.html