高质量代码的构建与效益
1. 代码质量的基石
代码就如同一个拨号应用程序,其他工程师在使用我们的代码时,会依据名称、数据类型和常见约定等线索,构建关于代码输入、功能和输出的心理模型。若代码的行为超出这个心理模型,软件就可能出现漏洞。
以打电话订购披萨为例,即便意外发生,最初一切似乎仍正常运行:你点了玛格丽特披萨,餐厅也欣然接单。然而,等发现误订了鸡尾酒而非食物时,一切已无法挽回。这与软件系统中代码意外行为的情况类似:调用代码的人未预料到这种情况,仍继续执行,起初看似正常,但后续程序进入无效状态或返回异常值时,就会出现严重问题。
即便出于良好意图编写有用或巧妙的代码,也可能带来意外情况。若代码行为意外,使用它的工程师可能不知如何处理,导致系统问题逐渐显现,可能只是小麻烦,也可能造成重要数据损坏的灾难性后果。因此,我们应尽量避免代码出现意外情况。
2. 降低代码误用风险
电视背面的插座形状各异,制造商以此防止用户将电源线插入 HDMI 接口。若插座形状相同,用户很可能误插电缆,将 HDMI 线插入电源插座可能导致设备无法工作,而将电源线插入 HDMI 接口甚至可能引发爆炸。
我们编写的代码也类似,期望其他代码正确“插入”输入参数或使系统处于特定状态后再调用。若输入错误,可能导致系统崩溃、数据库损坏或数据丢失,即便不出现严重问题,代码也可能无法正常工作。
为提高代码正常运行的几率,应让代码难以或无法被误用。可通过多种实际方法实现,例如遵循代码契约,这是降低代码误用风险的基本技术。
3. 实现代码模块化
模块化指对象或系统由可独立交换或替换的小组件构成。以两个玩
超级会员免费看
订阅专栏 解锁全文
1300

被折叠的 条评论
为什么被折叠?



