Perl 最佳实践(节选) --- 06
? ? 第六章:控制结构? ? ? 零陆贰.使用代码块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都使用该标签。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |