爸爸和我编程十条诫律

开发 开发工具 后端
在爸爸去世前,我和他谈论了2个星期关于编程的事。我22岁,一个在大学里攻读美术设计的四年级的学生。爸爸62岁,一个很老的爸爸。早在世纪60年代他就在田纳西理工大学编程,他在打孔纸带上做FORTRAN开发。

在爸爸去世前,我和他谈论了2个星期关于编程的事。

我22岁,一个在大学里攻读美术设计的四年级的学生。爸爸62岁,一个很老的爸爸。早在世纪60年代他就在田纳西理工大学编程,他在打孔纸带上做FORTRAN开发。他知识丰富。

这个学期我才刚刚开始接触编程,而我的整个脑子全被它吸引住了。编程很神奇,很强大,在很多方面比图像设计更富创造性(我会在另外的文章里谈论这个话题)。

在我假期回到家时,爸爸向我分享了无我编程的十条诫律。他把它打印出来,逐条和我讨论。这是在他意外去世前我们仅有的关于编程的讨论。也许这是让我对此念念不忘的原因。

[[88418]]

来自写于1971年的《程序开发心理学(The Psychology of Computer Programming)》,下面就是这无我编程十条诫律:

  1. 理解和接受自己会犯错误。关键是要尽早发现,在错误进入到最终产品前发现它们。幸运的是,除了我们少数几个在喷气推进实验所开发火箭导航系统的人外,在软件行业中犯错误通常不会导致灾难性事故。我们可以,也应该从错误中吸取教训,微笑,并继续前进。
  2. 你不是你的代码。记住代码审查的全部目的就是去发现问题,相信问题会被我们发现。当有问题疏漏时不要自责。
  3. 不管你对“空手道”有多了解,一定会有人知道的更多。如果你去问,这样的人可以告诉你一些新的招数。从别人那里寻找和接受新的知识,特别是那些你认为不需要的知识。
  4. 不要在没有讨论的情况下重写代码。在“调整代码”和“重写代码”之间有一条很细致的界限,你应该在代码审查的制度下做风格上的调整,不要独断专行。
  5. 对那些不如你的人要尊敬,礼遇,有耐心。经常跟开发人员打交道的非技术人士通常持有这样的观点:程序员凭借一技之长狂放不羁。不要让你的发怒和缺乏耐性让他们心中的这种形象加深。
  6. 这世界上唯一不变的就是变化。开放思考,面带微笑的接受它。把需求上、平台或工具里的每个改变都视作一种新的挑战,而不是把它们当作大麻烦来抵制。
  7. 真正的权威来自知识,而不是职位。知识造就权威,权威带来尊敬——所以,如果你想在一个无私的环境中获得尊敬,去培养自己的知识吧。
  8. 为信仰奋斗,但我文雅的接受失败。要理解,有时候你的想法会被拒绝。即使你是对的,你也不要报复或说“I told you so.”千万不要让你心爱的被抛弃的想法变成殉道者或抱怨素材。
  9. 不要成为“角落里的程序员。”不要成为隐藏在黑暗办公室里、只因为口渴才出现的人。藏在角落的里程序员短视、与世隔绝、不受控制。这样的人在公开的、合作的工作环境中发不出声音。参与到交流中,成为你的办公室团体中的一员。
  10. 批评代码而不是人——对编码人友善,但不要对代码友善。尽可能的让你的批评具有积极性,以改进代码为目标。批评要联系本地标准,编程规格文档和提高后的性能等。

这个十条诫律至今伴随这我。它让我成为了一名更好的程序员。有时我在想,如果爸爸还在我身边,他还会给我哪些建议?虽然我不知道,但我相信,他会为我一直记住这些而高兴的。

更多关于爸爸的信息,请阅读Frank Bush对计算机业的贡献,这是有他在田纳西理工大学的同事们收集编辑的。

英文原文:Dad and the Ten Commandments of Egoless Programming

本文链接:http://www.aqee.net/dad-and-the-ten-commandments-of-egoless-programming/

责任编辑:林师授 来源: 外刊IT评论
相关推荐

2012-05-15 01:38:18

编程编程技巧编程观点

2011-05-30 15:59:47

编程

2020-08-23 21:07:16

编程PythonJava

2024-11-28 11:34:54

2012-09-28 09:12:39

移动Web

2011-07-27 09:17:20

.NET设计架构

2012-03-06 16:01:04

项目管理

2011-08-02 21:16:56

查询SQL性能优化

2011-04-14 11:43:47

2021-03-18 09:00:00

微服务架构工具

2024-08-19 09:04:50

2024-02-19 14:50:42

编码原则软件开发

2022-09-09 16:27:09

微服务架构数据存储

2009-01-15 09:57:00

2010-08-02 10:23:44

服务器虚拟化

2009-04-08 10:51:59

SQL优化经验

2023-09-22 12:04:53

Java代码

2024-06-05 09:24:14

2010-06-22 10:00:31

SQL查询

2018-08-17 15:33:37

点赞
收藏

51CTO技术栈公众号