5.7 风格的挑战
许多程序员在项目开始的时候都保证他们将做好每件事。当变量或者参数的值永远不变时就将其标记为const。所有变量都具有清楚的、简明的、容易阅读的名称。每个开发人员都将左边的大括号放在后续行,采用标准文本编辑器并遵循关于制表符以及空格的约定。
维持这种层次的格式一致性非常困难,原因有很多。当涉及const的时候,有些程序员不知道如何用它。您总会遇到不支持const的旧代码或者库函数。好的程序员会使用const_cast暂时取消变量的const属性,但是没有经验的程序员会取消来自调用函数的const属性,结果得到一个从不使用const的程序。
有时,标准化的格式会与程序员的个人口味以及偏好发生冲突。或许您的团队文化导致无法强制使用严格的风格准则。在此类情况下,必须判断哪些元素是确实需要标准化的(例如变量名称以及制表符),哪些元素是可以让个人决定的(或许空格以及注释格式可以这样)。您甚至可以获取或者编写脚本从而自动纠正格式bug,或者将格式问题与代码错误一起标记。