知识卡片

把运行时错误提前到编译期捕获

专业/工作 · 47

内容

默认情况下语言允许隐式创建变量很方便,但也意味着一次拼写错误(如某个变量名多打或少打一个字符)会被静默地当成创建了一个新变量,而不是报错,这类bug往往要运行很久才会被发现。强制要求变量必须先显式声明,能把这类原本只能在运行时甚至线上环境才会暴露的错误,提前变成编译阶段就会被拦下的错误。发散:这是”左移”(shift left)理念在语言层面的体现——同样的检查,越早触发,修复成本越低。

参考来源

《Perl语言入门(第五版)》第4章《子程序》