知识卡片

软机制与硬机制的区分

普通读书笔记卡 · 1958.j.3

内容

代码中传达设计意图的手段分两类:软机制依赖人的解读,如描述性变量名、代码注释——看不懂命名语境,效果就跟读天书一样;硬机制则能被机器检查,如前置/后置条件、不变量、断言、类型系统——”X和Y不应通信”这种意图声明为硬机制后,就能被工具自动验证。同一件事可能是软机制也可能是硬机制:把功能收拢进同一模块像硬机制,但若纯粹为方便编译优化而非表达意图,读者仍需推断,这时它其实是软机制。

参考来源

- 位置:《恰如其分的软件架构》第10章《代码模型》10.4节《在代码中表达设计意图》(源文件:_epub-src/OEBPS/text00099.html) - 结论依据:原文区分软机制(依赖人为解释,如命名和注释)和硬机制(可被机器检查,如前置后置条件、不变量、断言、类型系统),并说明同一种代码组织手法根据意图可能属于软机制或硬机制。 - 原始内容:软机制依赖于人为的解释,就像前面提到的那个类命名的例子……第二类是硬机制,即可以用机器来进行检查的机制……前置和后置条件、不变量及断言都是硬机制。