网站首页 文章专栏 程序员应该熟悉的定律法则
程序员应该熟悉的定律法则
创建于:2019-06-17 23:23:43 更新于:2024-11-22 10:11:35 羽瀚尘 1107
未分类

二八定律

二八定律是19世纪末20世纪初意大利经济学家帕累托发现的。他认为,“在任何一组事物中,最重要的只占其中一小部分,约20%。其余80%尽管使多数,却是次要的”。因此又被称为二八定律。

这应该是应用最广泛的一个定律了。在代码中也是约20%的核心代码逻辑支撑了整个系统的运转,对老系统的治理过程中我们也会先找出20%的代码去重构,在大促备战中先是梳理出20%的功能,而这些功能往往恰好是“黄金”功能。

海恩法则

海恩法则是德国飞机涡轮机的发明者德国人帕布斯・海恩提出一个在航空界关于飞行安全的法则,海恩法则指出:“每一起严重事故的背后,必然有29次轻微事故和300起未遂先兆及1000起事故隐患”。该法则强调两点:“一是事故的发生是量的积累的结果;二是再好的技术、 再完美的规章,在实际操作层面,也无法取代人自身的素质和责任心。”

海恩法则对我们是一种警示,我们平时对测试中和线上的小问题都不可忽视,比如对于笔者所在的公司,每次大促之前我们都要对核心系统和核心流程做梳理,不能放过任何一个小的问题,而且越是平时不被关注的边缘系统越容易出问题。

我们常说一切问题皆是人的问题,所以在平时我们还要注重人的自身素质提高的培养。

墨菲定律

墨菲定律的具体内容是“凡是有可能出错的事就一定会出错”,指的是任何一个事件,只要具有大于零的概率,就可以确定它可以发生。

该定律跟海恩法则常常被我们应用在大促之前的备战中,当然平时也会经常用到,只是大促备战的过程中更加重视。凡是我们怀疑的系统薄弱点,都要拿出来仔细过一遍,绝不能轻易放过一丝一毫的怀疑,避免因疏忽遗漏导致线上重大事故的发生。

康威定律

康威定律指的是“系统设计的结构必定反映其团队的组织结构”。一个直接跟程序设计有联系的定律。换言之,有什么样的团队结构就产生什么样的技术架构。

SMART原则

“SMART原则是目标管理中的一种方法,SMART原则中的S, M, A, R, T分别对应了五个英文单词Specific(明确), Measurable(可衡量), Achievable(可达成), Relevant(相关),和Time-bound(有时限)”。

我们在指定一个架构目标的时候要符合这样的原则,对一个老系统做架构升级改造,需要目标明确,达到控制和逻辑分离,子系统之间解耦;可衡量,各个系统上线之后是否会相互影响;可达成,分离和解耦的目标是一定可以实现的;相关,比如跟其他系统的边界交互处要考虑的因素都有哪些;有时限,目标不能无休止进行下去,一定要有一个清晰的完成日期。

摘抄自《架构修炼之道》