原文系一位程序员之子所述,下为译文。

我的父亲在和我彻谈编程两个星期之后就去世了。

那个时候我22岁,一个刚刚完成美学学士毕业设计的大四学生。而我的父亲62岁,比大多数我同龄人的父亲都要老。早在60年代,他就已经在田纳西理工大学开始编程了,那个时候他在穿孔卡片上写FORTRAN语言。不得不承认,我的父亲学富五车、学识渊博。

我和编程第一次亲密接触的时候,它像烟花,瞬间绚烂了我的生命。它给我的感觉既魔幻又强大,在很多方面都比视觉设计要更富有创造性和实践性。

当我节假日回家的时候,我的父亲分享了他的《编程十诫》。他打印了一份,然后和我一条一条地讨论。这也是我和我父亲之间为数不多的有关于编程的讨论,然后他就突然离开了我。或许也因为这个原因,这个《编程十诫》深深地刻在了我的脑子里,与那天我父亲的音容一起,成为我最美好的回忆,磐石无转移。

灵感源于1971年首次发行的《The Psychology of Computer Programming》一书,下面是我父亲总结的编程十诫:

1.理解并承认自己也会犯错误。

关于此点的关键就是要在发布之前早点发现。不过幸运的是,除非你是在喷射推进实验室开发火箭制导软件,否则很少有错误是致命的。所以,犯了错误之后我们可以从中学习经验教训,然后保持一个积极的心态,继续前行继续进步。

2.人非圣贤,孰能无过。

复审代码的目的就是为了发现问题。不过如有遗漏,也不可把责任归咎于某一个人身上去针对他。

3.人外有人、天外有天。

三人行必有我师,问问良师益友,会让你受益无穷。要学会倾听他人的意见和建议,特别是当你认为毫无必要时,更要怀着谦虚的态度、广阔的胸怀接受他人的指教。

4.重构代码要三思。

“修复代码”与“重构代码”有着本质的区别。在深思熟虑之后,如果还是想追求代码审查时框架风格能有所变化,而非沿着原先的道路予以改进,那么就重构吧。

5.尊重他人,耐心、礼遇每一个人。

经常跟开发人员打交道的非技术人士通常会觉得程序员目中无人、脾气又大又臭。不要让你的怒火和缺乏耐性让他们心中的这种形象越来越高大。

6.世界上唯一不变的就是变化。

敞开胸襟、面带微笑地去接受变化。把需求中的、平台上的以及工具里的每个变化都当做全新的挑战,而非视为大麻烦来抵制。

7.真正的权威来自知识,而不是职位。

知识造就权威,权威带来尊敬——所以,如果你想在计算机领域中中获得他人的尊敬,去学习吧。

8.为信仰奋斗,然后优雅地接受失败。

有时候我们的想法会被否决。即使后来发现我们是对的,也不可存有怨恨情绪,或者说类似于“我老早就说过会这样,还不信”的话。不要让团队之间由此产生间隙,不要因为这点小事耿耿于怀、常常抱怨。

9.不要成为“角落里的程序员”。

不要成为那种隐藏在办公室不起眼的角落里,在点餐时才冒出来的人。躲在角落的里程序员往往短视、与世隔绝、与大家脱节。他们会像隐形人一样不发表任何意见。所以,要参与到大家的讨论中,成为办公室团体中协调的一员。

10.可以批判代码,但不能人身攻击

应该友好地对待每一个程序员,但是在指出问题时可以犀利、一针见血。我们的批评应该尽可能的积极,并且以改进代码为目标,不可无的放矢。同时,还应该考虑当地标准,程序规范以及提高后的性能表现等等。

至今我还留着这份《编程十诫》。按照上面所述,我成长为了一个优秀的程序员。有时候遇到困境,我会忍不住地想,如果我的父亲还在,他会给我哪些建议?虽然这已经成为了妄想,但是我相信,我亲爱的父亲会为我一直牢记这十条戒律而骄傲的。

程序员父亲的遗产:编程十大诫相关推荐

  1. 程序员父亲的遗产——编程十诫

    我的父亲在和我彻谈编程两个星期之后就去世了. 那个时候我22岁,一个刚刚完成美学学士毕业设计的大四学生.而我的父亲62岁,比大多数我同龄人的父亲都要老.早在60年代,他就已经在田纳西理工大学开始编程了 ...

  2. 程序员父亲的遗产——编程十诫 转载

    我的父亲在和我彻谈编程两个星期之后就去世了. 那个时候我22岁,一个刚刚完成美学学士毕业设计的大四学生.而我的父亲62岁,比大多数我同龄人的父亲都要老.早在60年代,他就已经在田纳西理工大学开始编程了 ...

  3. 鹅厂程序员在家撸码的十大姿势

    大家好,我是帅气的他二哥,好久不见-在家办公已经一周多了,不知各位感觉如何?曾经的你以为在家办公爽歪歪,今天的你迫不及待想回公司上班电脑屏幕太小,椅子不舒服,网络不好,没有下班时间,被娃骑脸输出,被做 ...

  4. 程序员霸榜 2020 年十大高薪岗位,不料幸福度却垫底了!

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 近日,职场社交平台脉脉发布了<2020人才吸引力报告>,该报告基于1.1亿职场用户和社交招聘大数据分析,总结出202 ...

  5. java程序员闯关题网站_Java程序员每周必逛的十大学习网站

    作为开发人员而言,必需的除开对编码的激情也要有自身的一整套小技巧,另外必不可少的也是平常学习的网站.下列个人搜集的 Java 开发者必不可少的网址,这些网址都可以提供信息内容.以及许多非常好的专题讲座 ...

  6. 程序员谨防加班猝死之十大建议

    过劳死的精英每年都会有几个,其中最多的就是办公室白领,IT精英也占很大的比重. 13号有个新闻,"奥美公关北京公司一名24岁男性员工在办公室突发心脏病,经抢救无效死亡.早在2008年,奥美公 ...

  7. 程序员必知的编程4大祖师爷,C语言之父堪称编程界的牛顿!

    编程语言哪家好,这是网友们一直争议和调侃的话题. 不过,并不是所有的程序员都知道编程语言的开山鼻祖. 不得不说,正是因为拜在祖师爷门下,才混有今天撸代码这口饭吃. 下面我们就来了解一下编程语言的祖师爷 ...

  8. 程序员必须要掌握的十大经典算法

    算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通 ...

  9. 程序员避免面向监狱编程攻略大盘点

    2020年时间过得好快,转眼间白驹过隙般飞奔而去,而在岁末年初的当口,笔者在回顾这一年程序员世界的大事件后,突然发觉如何避免程序员面向监狱编程是个特别值得一谈的话题,这几天一款秒杀茅台酒的Python ...

最新文章

  1. 苏教版四下用计算机计算,苏教版四年级下册数学单元测试-4.用计算器计算 (含答案)...
  2. 实现checkbox的全选和取消
  3. 一个用BitMap类完成的网页随机码图片生成类
  4. 关于湖北工业大学图书馆联网配置的方法
  5. 筛选汇总 power_批量汇总多Excel表格 | 标题都从第n行起怎么办?
  6. 自定义动画 animate || 案例:王者荣耀手风琴效果分析
  7. Manjaro Linux执行某些命令缺少libtinfo.so.5问题
  8. POJ - 3347 Kadj Squares(思维+几何)
  9. PCM设备在雷达通信系统应用
  10. matlab绘制贝叶斯曲线,Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
  11. 阿帕奇服务器文件上传,Apache HttpCore4.4基于经典的IO实现HTTP文件传输服务器
  12. UI实用素材|促销弹出设计
  13. python列表到元祖_python列表与元祖
  14. 网易java笔试题_网易笔试题详细解答(Java)
  15. 算法和数据结构~Sqlserver索引使用的B树
  16. Cursor finalized without prior close()
  17. macbook重装系统 选择方案_Mac重装系统教程(二):网络在线重装系统
  18. EMC与电阻、电容和电感的关系
  19. PV、UV、访问次数、跳出率、转化率、平均访问时长
  20. 速度测试(speed test)

热门文章

  1. # 2017-2018-1 20155232《信息安全技术》实验二——Windows口令破解
  2. 放大电路模型及相关习题
  3. 谷歌地图找客户——拒绝躺式开发客户
  4. 查看网页源代码和框架源代码的区别
  5. 前Pinterest首席运营官起诉性别歧视
  6. 计算机音乐单恋一枝花,单恋一枝花-张宇
  7. 服务一直处于‘启动中‘,无法关闭(已解决)
  8. windows 服务停止后无法启动,报:“服务正在启动或停止中,请稍后片刻再试一次”
  9. Java 回升!月薪 25K 的无名公司是谁?75 万招聘数据揭晓谁最大方!
  10. [附下载]功能最强、高效易用的AI自动标注软件免费用了,兼容LabelImg格式xml,支持各种yolo、ssd、rcnn已训练模型以及OCR、形状匹配、轮廓匹配等各种定位方式来自动生成标注文件