当前位置: 首页 > 科技观察

软件工程必看——10条你最容易忽视的经典法则

时间:2023-03-22 14:48:49 科技观察

软件工程必读——你最有可能忽略的10条经典法则帕累托法则、斯特金启示录、彼得原理、伊格森法则、格林斯彭编程第十法则、冰山谬误。在软件开发和产品设计中,往往会忽略一些经典的、重要的参考规则,忽视这些规则会让开发者走一些弯路。因此,小编在这里放出最容易被忽视的10条软件工程定律中的10条,大家可以作为参考:1.康威定律(Conway'sLaw)任何设计系统的组织,其设计结构就是组织通信结构的副本。你可能认为这种情况可以通过不同级别的会议和股东更新和决策来避免,但现实是,冲突或分歧的优先级会导致冲突和分歧的过程和结果相同,从而影响整个设计.结构。2.Brooks法则“为一个迟到的软件项目增加人力会使它更晚。”更多的延迟,最终很可能是更脆弱、更复杂的产品。3.Zawinski定律(Zawinski'sLaw)“每个程序都试图扩展,直到它包含一个网络服务器。那些不能扩展的项目将被可以扩展的项目所取代。”4.帕金森定律(Parkinson'sLaw))工作完成的时间影响工作量”在这里,主要的项目管理教训是,如果你不为概念里程碑设定大致的截止日期,那么项目将永远无法完成。这也说明了在时间线上迭代最小可行产品的重要性,当然我们也可以根据数据、处理能力、RAM等调整这个规则:在使用所有可用存储空间/带宽/周期/RAM之前,data/CPU/Memoryusage总是会膨胀其实,32GB对任何人来说都足够了吧?5.Pareto'sFallacy帕累托原则很容易被误解,尤其是管理人员。这常常导致帕累托谬误:“当你80岁时%完成了,你认为你只剩下20%。“这里被忽视的关键部分是,这20%实际上需要你80%的时间。6.Sturgeon'sRevelation的所有部分中有90%都是无用的。是的,您的产品也包含在内。7.彼得原理(ThePeterPrinciple)在等级制度中,每个员工都倾向于上升到他们不称职的级别。因此,随着时间的推移,每个职位都有可能被不称职的员工填补。》8.伊格尔森定律(Eagleson'sLaw)你拥有的任何代码,如果你6个月或更长时间没看它,就好像是别人写的一样。实际上,6个月是相当乐观的。但是,有一点需要注意是“Yomomcorollary”:只有原作者可以批评代码;任何其他负面反馈都将被驳回。9.Greenspun的第十条编程规则任何自定义开发2000年代的身份验证系统都包含一个临时的、非正式指定的,漏洞百出,Kerberos实施缓慢。这可以概括为NIH的一般规则:“任何定制开发的系统都包含一个临时的、非正式指定的、有缺陷的、缓慢实施的对象,你拒绝使用的对象有一半是行业标准.10.冰山谬误(TheIcebergFallacy)一个新软件产品的开发成本只占所有权管理总成本和预算的25%。75%的成本,那么运营支持就是剩下的75%。