当前位置:首页 > 科技 > 正文

可以帮你成为合格的软件工程师

时间:2021-01-13 20:40 来源:互联网 编辑:小优

核心提示

有些著名的定理在互联网世界同样适用,下面为大家介绍的定理有些和相关,有些和相关,可以帮你成为合格的软件工程师。01、墨菲定律凡事可能出错,就一定出错这条定律来自一名航天工程师在50年代初对火箭失败作出

有些著名的定理在互联网世界同样适用,下面为大家介绍的定理有些和相关,有些和相关,可以帮你成为合格的软件工程师。

可以帮你成为合格的软件工程师(图1)

01、墨菲定律

凡事可能出错,就一定出错

这条定律来自一名航天工程师在50年代初对火箭失败作出的回应,给我们的启示是,永远在关键地方使用防御性设计,因为某些地方总会出错。

这就好像是你把软件暴露给终端用户,他们会创造性的输入一些意料之外的内容,导致宕机。因此你需要让你的软件足够健壮,检测并警告非预期行为,确保设计的架构在每个层面上都可以应对故障。

可以帮你成为合格的软件工程师(图2)

02、Kunth定律

在大部分编程中,优化过早是万恶之源。

这条定律是Donald Knuth的经典语录之一,告诫我们不要过早的优化程序代码,直到必须优化时再优化。

简单易读的源码实现99%性能需要的同时,可以提高应用的可维护性。开始时,使用简单的解决方案可以让后期出现问题更容易迭代和改进。

在Java或者C语言中,String对象是不可变的,我们要学会使用其他结构动态创建字符串,比如StringBuilder。

现实是,直到分析应用程序前,我们并不知道String创建了多少次,并对性能产生了多大影响。因此在编写代码时,要尽量保持整洁,必要的时候再做优化。

可以帮你成为合格的软件工程师(图3)

03、Conway定律

设计的架构受限于生产设计,反映出公司组织的沟通架构

Conway定律由一名Melvin Conway的工程师提出,他注意到公司组织结构影响设计后,在一篇论文中描述了这个观点。

设计本身没有好坏之分,但是都受团队沟通方式的影响。现今,将大的集成应用解耦成微服务已成趋势。但也应该牢记Conway定律,在公司组织架构中投入与技术同样多的工作。

可以帮你成为合格的软件工程师(图4)

04、琐碎定律

组织成员投入精力到琐碎的事情上

琐碎定律又称为帕金森琐碎定律。这条定律的论点是:时间与事情的价值成反比。

对此,帕金森给出了一个例子,一场会议中,成员们讨论两件事情:为公司建核反应堆和为员工建车棚。建反应堆是复杂而又巨大的任务,没有人可以掌控全局,于是成员完全信赖流程和专家,很快就接受了项目。但建车棚的讨论时间远远超过建核反应堆的讨论时间。这条定律在软件行业非常出名,之后被称为车棚效应。

可以帮你成为合格的软件工程师(图5)

软件

本文相关词条概念解析:

定律

定律是为实践和事实所证明,反映事物在一定条件下发展变化的客观规律的论断。例如牛顿运动定律、能量守恒定律、欧姆定律等。

软件

软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。

网友评论

最新新闻