l 始终检查明显指出-----如果让中等水平的开发人员条是一段代码,他或她几乎一定会先看不正确的位置。上文给出的一些例子表明通常是最显然的事情导致最大的麻烦。
l 始终自内而外的检查----始终应遵循从代码的外部向内部的执行途径,除非对错误发生的位置已经得到正确的指引,否则应关注出现错误的函数。然后从该函数跟踪错误到其他嵌套函数,直到找出根源。从内部向外跟踪将引发问题,因为不知道有什么其他可能导致错误的发生过程。例如,返回错误值得函数可能已经被提供了错误信息------检测函数而发现没有任何错误是一件没有意义的事情。
l 当处理输入漏洞时始终中从顶部开始----查看代码应从代码顶部依次向下进行,不要反向工作。输入漏洞有一个坏习性是导致相关联的后果。为了说明这种情况,将一个额外的前括号放在脚本中----perl返回的是与实际问题无关的各种各样的错误。
l 当解决分析器错误时始终从底部开始-----perl输出错误可能位于的行号。如果从顶部开始将打乱行编号,则需要重新解析脚本以确认新的行号。如果从底部开始工作,那么行的变化就不会影响前面的行号,这样在需要重新解析脚本之前能够解决更多的错误。
l 始终打开警告开关-----与只允许解析器正常工作相比,警告针对可能被忽略的潜在错误提供了更多信息。警告加亮显示潜在的问题,比如未被使用的变量(加亮显示的键入错误),误用的变量类型(加亮显示的逻辑漏洞),以及可能从未触及的代码。
l 始终采用strict编译选项------严格的编译选项强制执行比正常标准高出很多的perl解析规则。这致使perl检查某些操作的语法----变量、引用和子程序-----大大高出正常的等级,累死在解析过程中警告可以加亮显示问题所在。