设计模式学习(五) 其他 一些理论知识
破窗效应:
是犯罪心理学的理论。詹姆士·威尔逊(James Q. Wilson)及乔治·凯林(George L. Kelling)提出。
此理论认为环境中的不良现象如果被放任存在,会诱使人们仿效,甚至变本加厉。
好的代码风格、好的配置体系、好的架构的重要性。项目中很多小问题的日积月累,可能会影响项目整体。
康威定律(Conway’s Law):
马尔文·康威1967提出。
1.Communication dictates design。
组织沟通方式决定系统设计。
2.There is never enough time to do something right, but there is always enough time to do it over。
时间再多一件事情也不可能做的完美,但总有时间做完一件事情。
3.There is a homomorphism from the linear graph of a system to the linear graph of its design organization。
线型系统和线型组织架构间有潜在的异质同态特性。
4.The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems。
大的系统组织总是比小系统更倾向于分解。
什么样的团队、就会有什么样的系统架构。当我们在调整系统架构的同时、也应该调整组织架构。好的设计应该降低沟通复杂度。
一个系统没法一次做完美,迭代升级应该是常态。大系统终究会拆解成小系统,“合久必分,分而治之”——微服务架构就是自然的演变。
墨菲定律:
爱德华·墨菲(Edward A. Murphy)提出。
如果坏事情有可能发生,不管这种可能性有多小,它总会发生,并引起最大可能的损失。
即 如果事情可能出错,就一定会出错
克努特优化法则(Knuth定律):
在(至少大部分)编程中,过早优化是万恶之源。
不要过早优化应用程序中的代码,直到必须优化时再优化。
帕金森琐碎定理:
英国历史学者与政治学者西里尔·诺斯古德·帕金森(Cyril Northcote Parkinson)于1957年所提出。
大型组织会花费大量时间在讨论无关紧要的琐事,但是真正重大的决议反而可以轻松过关这种现象。
布鲁克定律(Brook’s Law):
为已经延期的项目中,增量一名人员,将其添加到项目中后,可以增加而不是减少时间。
霍夫施塔特定律:
即使你考虑到了霍夫施塔特定律,项目的实际完成时间总是比预期的要长。
因为影响的因素很多,估算工期极其困难,所以在进行项目预估时必须要有一个缓冲区。
帕累托法则(二八原则):
对于很多现象,80%的后果源于 20%的原因。
在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的,因此又称二八定律
摩尔定律:
由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)的经验之谈。
单位成本的计算机算力每 24 个月翻一番。集成电路上的晶体管数量大约每 18 个月会增加一倍。
。。还有很多 。。
@