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

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

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

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

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

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

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

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

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

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

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

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

4.重构代码要三思。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决:Can not deserialize instance of com.xxx.xx.XXModel out of START_ARRAY toke

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. json数据解析报错: Can not deserialize instance of com.xxx.xxx.model.XXXModel out of START_ARRAY token 2. 需要一…

HEVC标准概览

HEVC标准概览HEVC(高效视频编码标准)是ITU-T VCEG(国际电联电信标准化部视频编码组)与ISO/IEC MPEG(国际标准化组织国际电工委员会视频标准化组)的合作组织JCT-VC最新项目。ITU-T和ISO/IEC计划在2013年1月共…

解决:Unable to identify index name. XXXModel is not a Document. Make sure the document class is annota

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 往 elasticsearch 写入数据调用 index 方法,执行报错: Unable to identify index name. XXXModel is not a …

为什么年事已高的我还在编程?

每一个行业的从业人员都会有变老的那一刻,难道变老了之后还要继续从事之前的工作吗?估计没人愿意,除非是体力上吃得消的。接下来所讲述的就是作为程序员的码农们该如何迎接慢慢变老之后的工作转变!人们都会期望随着岁数的增加&…

解决:redis.clients.jedis.exceptions.JedisDataExceptionERR This instance has cluster support disabled

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. springCloud 项目启动工程,redis 集群连接报错: Caused by: redis.clients.jedis.exceptions.JedisDataExcep…

小两口攒钱不吵嘴 用理财加固你的爱情

【导读】终于和你的他生活在一起了,幸福吗?争吵吗?困惑吗?据统计,夫妻间的矛盾大多跟钱有关,怎么花钱、怎么攒钱往往是两个人不能统一的原因。鉴于此,她理财总结了几条财蜜关于夫妻怎么攒钱理财…

解决: Intellij IDEA 运行报错 Command line is too long

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. idea启动工程报错: 2. 网上找到2个方法。方法一我试了有效果。方法二我同事试了有效果。 方法一: 修改项目…

年薪50万码农转行卖凉皮,互联网思维又一次颠覆?

摘要:今年五月份,一位年薪50万元的码农哥放弃了码农的工作,转身跳到了苦脏累的餐饮行业,每天骑着筋斗云电动车在中关村送外卖的事迹在互联网上引起了轰动。近日,码农哥接受了CSDN的采访,让我们一窥其转行背…

hue 查询 hbase 操作相关参考

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 界面操作说明 进入hue中的hbase 进入表的查询界面 界面说明 查询语句 ,表示结束查询,可以不加 主键查询 输入主键 rowke…

不要做一个浮躁的程序员

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。   2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久…

解决:elasticsearch 更新报错:The number of object passed must be even but was [1]

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 错误的代码写法&#xff1a; Autowiredprivate ElasticsearchOperations esOperations; public void updateAxxxData(List<AxxxMo…

.NET技术+25台服务器怎样支撑世界第54大网站

摘要&#xff1a;同时使用Linux和Windows平台产品&#xff0c;大量使用静态的方法和类&#xff0c;Stack Overflow是个重度性能控。同时&#xff0c;取代横向扩展&#xff0c;他们坚持着纵向扩展思路&#xff0c;因为“硬件永远比程序员便宜”。 【编者按】StackOverflow是一个…

apache sgoop 导入数据到 oracle、导出数据到 oracle 实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 业务场景&#xff1a;是在oracle 数据库和 hive 数据库中 &#xff0c;有多个相同结构的表&#xff0c;要求数据从2个库定时双向同步。…

最佳的开源云项目有哪些?

Linux.com和The New Stack联合起来做了一个调查&#xff1a;你认为的最受欢迎的开源云项目是哪些&#xff1f;调查涵盖了hypervisors、IaaS、PaaS、管理和服务开通和其它类别的开源项目。所有项目较为成熟的、有规模的开源云项目。下一代的企业正在使用开放云技术打造完全不同的…

我们正处在“后开源”时代?

越来越多的软件不是用来出售的&#xff0c;而是用来增强互联网上所提供的各种服务的功能。开源的实际好处已经超过了你所看到的一面&#xff0c;但是现在还是有人纠结是用什么样的开源协议&#xff0c;只是不明白为什么还要和开源协议作斗争呢&#xff1f;自由软件和开源软件支…

解决:-source 1.6 中不支持 diamond 运算符 [ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 工程打包 mvn clean install 执行报错&#xff1a; 2. 解决方法&#xff0c;在pom中加上如下配置&#xff1a; <plugin><gr…

是什么摧毁了程序员的工作效率

本文是html5tricks原创翻译&#xff0c;转载请看清文末的转载要求&#xff0c;谢谢合作&#xff01; 下图是摘自网上有关程序员工作效率的论述。 正如Homer Simpson所说&#xff0c;如果这是真的&#xff0c;那就有意思了。 我之所以不能一针见血地发现如何才能高效工作的秘密…

解决:single failed: For artifact {null:null:null:jar}: The groupId cannot be empty. 把工程依赖的jar包打到入jar中

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 执行 mvn clean install 报错&#xff1a; Execution make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:2.4…

解决:Exception in thread main java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExe

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.报错&#xff1a; Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreEx…

云计算技术背后的天才程序员:Open VSwitch鼻祖Martin Casado

摘要&#xff1a;Martin Casado被称为软件定义网络之父&#xff0c;OpenFlow的发明人、Nicira的创始人、硅谷最炙手可热的“40 under 40”之一&#xff0c;另外&#xff0c;他提交的虚拟交换机Open VSwitch的第一个Commit揭开波澜壮阔的软件定义网络时代。 【编者按】在一次采…