谦卑在软件开发中的重要性

2021-05-12 13:56:42

常常,我们听到另一个主要软件错误的消息。大公司的错误是最大的新闻。来自小公司的错误看起来很普遍。作为程序员,所有这些错误都是花费我们的时间和金钱。我们知道我们需要改进。但我们似乎无法弄清楚如何。

作为一个行业,我们已经尝试解决这个问题,越来越复杂的过程,越来越复杂的工具和复杂的技术。但是Edsger Dijkstra提出了不同,更简单的解决方案。

Dijkstra是软件开发的早期先驱之一。他在编译器,操作系统和分布式系统中提出了重要贡献。但他没有声称,这些领域的进步会导致更可靠的软件。他认为最重要的差异是谦卑。

在1972年的ACM图灵奖学课程中,他描述了他设想的过程,以始终如一地提供高质量的软件。他看到这一场革命的3个钥匙

为什么他认为谦卑是一个关键的组成部分?让我们来看看讲座中的关键通道:

现在为第五个论点。它与我们试图使用我们自己的思维习惯使用的工具的影响。我遵守一种文化传统,在所有概率中都有其在文艺复兴的根源,忽视这种影响,以尊重人类的思想,作为其人工制品的最高和自主主义。但如果我开始分析自己的思维习惯和我的同胞的习惯,我来了,无论我喜欢它,是否都是完全不同的结论,viz。我们正在尝试使用的工具以及我们使用的语言或符号来表达或记录我们的想法,是确定我们可以思考或表达的主要因素!对编程语言对用户思维习惯的影响分析,以及现在,智力是艰难的资源,他们共同为我们提供了一个用于比较各种编程的相对优点的新集合。语言。主管人员完全了解他自己的头骨的严格限制;因此,他在充分的谦卑中接近编程任务,除了他避免像瘟疫一样巧妙的伎俩。

Dijkstra提醒我们,我们的大脑不是完美的计算机器。我们不能像他们一样对待他们。我们必须在始终犯错误的情况下对可能性开放。 Dijkstra并不是说我们应该像我们是蠢货一样。他说我们需要记住我们的局限性。

让我很清楚。我不是在努力加强冒名顶替综合症。我不是在倡导知识良好的守望者。您可以成为一个优秀的开发人员,仍然需要注意您的局限性。事实上,在真正和看似矛盾的方式,健康的谦卑可以帮助你从一个好程序员到一个伟大的程序员。

他说,“脑电是我们陡峭的资源。”他在1972年回来了。今天的发言是多少,我们的现代计算机,编程语言,IDE和相关工具是多少。

学习与我们的局限性生活的最佳方式是了解它们。当我们足够谦虚的时间来试用代理解决方案,因为其他努力逃避了我们的知识抓地力,我们将尽最大努力避免所有这些界面都损害我们以有用的方式为系统考虑系统。

对于开发人员来说,我们可以在许多方面申请Dijkstra的建议谦虚。 Dijkstra最直接应用的建议是编写尽可能简单的代码。这意味着我们避免聪明的技巧。这意味着我们使用抽象来简化代码,而不是使其更复杂。简单性提高了应用程序寿命的守则的可维护性。

谦卑利益开发人员的另一种方式是它激励我们写下东西。有一个古老的中国谚语所说,'帕莱克墨水比最强大的记忆更可靠。“我们不应该假设我们会记住我们为什么我们在我们制造后的某个月份决定。

谦卑也有助于我们在必要时提问。我们需要识别我们当试图解决问题时。在这些情况下,我们需要谦虚地要求帮助,让需要提供高于我们的自我的良好解决方案。对于经验丰富的开发人员来说,这可能意味着愿意从开发人员寻求帮助,以减少经验。

在他的结论中,他指出,我们需要注意软件开发的复杂性和我们能力的局限性。

我们会做一个更好的编程工作,只要我们对其巨大困难充分赞赏地接近任务,就是我们坚持谦虚,优雅的编程语言,只要我们涉及人类思想的内在局限并接近任务。 作为非常卑微的程序员。