软件开发中的“最”原则

软件开发中的“最”原则

Principle of least astonishment(最小惊讶原则)

image.png 又称最小意外原则,适用于用户界面和软件设计。 它建议系统的组件(代码)应该以大多数用户期望的方式运行。 该行为不应该使用户感到惊讶或诧异,根据操作的名称和其他线索,某项操作的结果应该是明显的、一致的和可预测的。 以下是该原则的正式陈述:“如果一个必要的特征具有很高的让人惊讶的因素,则可能需要重新设计该特征。”

Principle of least effort(用小用力原则)

image.png

又称最小阻力路径(path of least resistance),本质上是说人们会通过最少的工作来完成某件事。人们(程序员)将使用最熟悉和易于使用的工具、技术来解决问题。

Principle of Least Knowledge(最小可知原则)

image.png

又称迪米特法则(Law of Demeter),根据“信息隐藏”原则,给定对象(类、方法)应尽可能少地假设其他任何事物(包括其子组件)的结构或属性。 它可以被视为最小特权原则(Principle of Lleast privilege)的推论,该原则规定一个模块只拥有其合法目的所必需的信息和资源。

The Last Responsible Moment(最后责任时刻)

image.png

不过早做出仓促的决定,而是推迟承诺且保证重要和不可逆的决策的选项开放,直到不做出决定的成本变得大于做出决定的成本。越晚地做出决策(框架、技术选型),你就有更多的信息来辅助决策。