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

WBOY
Freigeben: 2016-07-25 08:47:18
Original
871 Leute haben es durchsucht
我的父亲在和我彻谈编程两个星期之后就去世了。
那个时候我22岁,一个刚刚完成美学学士毕业设计的大四学生。而我的父亲62岁,比大多数我同龄人的父亲都要老。早在60年代,他就已经在田纳西理工大学开始编程语言了,那个时候他在穿孔卡片上写FORTRAN语言。不得不承认,我的父亲学富五车、学识渊博。
我和编程第一次亲密接触的时候,它像烟花,瞬间绚烂了我的生命。它给我的感觉既魔幻又强大,在很多方面都比视觉设计要更富有创造性和实践性。
当我节假日回家的时候,我的父亲分享了他的《编程十诫》。他打印了一份,然后和我一条一条地讨论。这也是我和我父亲之间为数不多的有关于编程的讨论,然后他就突然离开了我。或许也因为这个原因,这个《编程十诫》深深地刻在了我的脑子里,与那天我父亲的音容一起,成为我最美好的回忆,磐石无转移。
灵感源于1971年首次发行的《The Psychology of Computer Programming》一书,下面是我父亲总结的编程十诫:
1.理解并承认自己也会犯错误。
关于此点的关键就是要在发布之前早点发现。不过幸运的是,除非你是在喷射推进实验室开发火箭制导软件,否则很少有错误是致命的。所以,犯了错误之后我们可以从中学习经验教训,然后保持一个积极的心态,继续前行继续进步。
2.人非圣贤,孰能无过。
复审代码的目的就是为了发现问题。不过如有遗漏,也不可把责任归咎于某一个人身上去针对他。
3.人外有人、天外有天。
三人行必有我师,问问良师益友,会让你受益无穷。要学会倾听他人的意见和建议,特别是当你认为毫无必要时,更要怀着谦虚的态度、广阔的胸怀接受他人的指教。
4.重构代码要三思。
“修复代码”与“重构代码”有着本质的区别。在深思熟虑之后,如果还是想追求代码审查时框架风格能有所变化,而非沿着原先的道路予以改进,那么就重构吧。
5.尊重他人,耐心、礼遇每一个人。
经常跟开发人员打交道的非技术人士通常会觉得程序员目中无人、脾气又大又臭。不要让你的怒火和缺乏耐性让他们心中的这种形象越来越高大。
6.世界上唯一不变的就是变化。
敞开胸襟、面带微笑地去接受变化。把需求中的、平台上的以及工具里的每个变化都当做全新的挑战,而非视为*烦来抵制。
7.真正的权威来自知识,而不是职位。
知识造就权威,权威带来尊敬——所以,如果你想在计算机领域中中获得他人的尊敬,去学习吧。
8.为信仰奋斗,然后优雅地接受失败。
有时候我们的想法会被否决。即使后来发现我们是对的,也不可存有怨恨情绪,或者说类似于“我老早就说过会这样,还不信”的话。不要让团队之间由此产生间隙,不要因为这点小事耿耿于怀、常常抱怨。
9.不要成为“角落里的程序员”。
不要成为那种隐藏在办公室不起眼的角落里,在点餐时才冒出来的人。躲在角落的里程序员往往短视、与世隔绝、与大家脱节。他们会像隐形人一样不发表任何意见。所以,要参与到大家的讨论中,成为办公室团体中协调的一员。
10.可以批判代码,但不能人身攻击
应该友好地对待每一个程序员,但是在指出问题时可以犀利、一针见血。我们的批评应该尽可能的积极,并且以改进代码为目标,不可无的放矢。同时,还应该考虑当地标准,程序规范以及提高后的性能表现等等。
至今我还留着这份《编程十诫》。按照上面所述,我成长为了一个优秀的程序员。有时候遇到困境,我会忍不住地想,如果我的父亲还在,他会给我哪些建议?虽然这已经成为了妄想,但是我相信,我亲爱的父亲会为我一直牢记这十条戒律而骄傲的。
免费领取LAMP兄弟连原创php教程光盘/《细说PHP》精要版,详情咨询官网客服:http://www.lampbrother.net



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage