钠斯网络 > 行业资讯 >知识百科

十大软件开发定律最容易被程序员忽略

发布来源:钠斯网络 发布人:钠斯网络 日期:2022-06-29 15:01:24

和其他领域一样,软件开发领域也有一些非常经典的规律。这些法律包括一些法律或软件开发之神的名言。

软件开发定律

1.康威定律

这就是所谓的“根据组织结构交付软件”:

“在设计系统时,任何组织的结构都与组织的通信结构一致”。

您可能会认为,这项法律可以通过某些方式避免,例如跨功能团队的站会、进度更新和决策矩阵,但最终不可避免地会出现冲突和分歧,这将导致冲突和分歧的过程和结果。

2.布鲁克定律

这个定律来自人月神话:

“在已经延期的项目中增加人力只会使项目延期更长”。

当你意识到这个项目没有取得预期的进展,并试图从其他地方获得更多的资源时,它不仅会推迟项目,而且更有可能交付一个更脆弱、更复杂的产品。

3.Zawinski定律

“每个程序都会膨胀到需要添加Web服务器,非膨胀程序最终将被膨胀程序取代”。

对Web就是服务“扩展到需要用户帐户登录并收集所有用户的数据”。对物理就是服务“膨胀需要增加一个不安全的WiFi访问点,设置默认密码,您无法修改,以及一个默认密码Web服务器”。

4.帕金森定律

“一项工作将占用完成它的所有时间”。

如果你不为一个项目的里程碑阶段设定最后期限,这个项目将永远不会完成。这就是为什么我们必须给一个MVP(最小可行产品)设定固定截止日期。

当然,这个定律也可以用于数据、计算能力、内存等方面:

“程序最终会把所有可用的存储空间,CPU时间和内存用光”。

5.帕累托谬论

帕累托原则很容易被曲解,尤其是被管理层曲解,这通常会导致帕累托谬论的出现:

“当你完成80%的工作时,你会认为只剩下20%的工作要做”。

但是你可能会低估剩下的20%的工作,因为它可能会占用你80%的时间。

6.史特金定律

“90%的东西都是垃圾”。

是的,包括你的产品。

7.皮特定律

“在等级制度中,每个员工都倾向于晋升到不称职的职位。因此,随着时间的推移,每个职位都可能被无能的员工占据”。

8.伊格尔森定律

“您已经6个多月没有看到的任何代码可能已经被其他人更改”。

这里说的六个月已经是一个非常乐观的数字了。

但是,有一点需要注意,那就是“YoMomma推论”:只有作者才能批评代码,任何其他负面反馈都会被拒绝。

9.格林斯潘第十定律

在认证方面使用:

任何定制的认证系统都包含一个临时的、非正式的、隐藏的缺陷、缓慢的操作Kerberos不完全实现。

这可以概括为一般性NIH规则:“任何定制开发的系统都包含不完全实现一个临时、非正式、隐藏缺陷和缓慢运行的行业标准(因为您拒绝直接使用该标准)”。

10.冰山谬论

“一个新软件的开发成本只占管理层总成本的25%左右”。

一句运维的格言:

假如说软件维护成本占总预算的75%,那么这75%应该是运维支持。

11.LGTM困境

“如果要快速提交10行代码更改,可以将其隐藏在1500行中PR中”。


欢迎您来咨询湖北app开发公司钠斯网络科技公司,专业软件开发10年多,开发案例有社交app、直播app、电竞app、物联网和人工智能开发。欢迎您来我司实地考察。本文由湖北钠斯网络科技发布,转载请注明:www.nasinet.com

本文地址

在线咨询

在线咨询

微信咨询

微信咨询

微信咨询
咨询热线

0717-6365698

电话咨询

电话咨询

QQ咨询

QQ咨询