您的位置: 首页 > 技术文档 > 网络编程 > 20年来我得到的20条编程经验
阐述.NET应用架构 回到列表 基于VS 2010 阐述C#4个特性
 20年来我得到的20条编程经验

作者:swordswift 时间: 2010-05-26 文档类型:翻译 来自:译言

我从11岁开始编程,并且一直都很喜欢技术和编程。这些是我一直以来获得的经验教训。作为一个程序员,你可能需要这样的忠告。我更希望每个人在获取这些忠告的同时能够学到更多。

我将会不间断地更新这里,我可能会有更多的要写,但是就我这20年来看,我认为没有什么更多的需要加在这个清单下了。:-)

这就是至今为止我印象最深的一些教训。

1、解决问题时估算你所需要的时间。C'mon,admit it! 我曾见过一些程序员为了解决一个特殊的问题而连续坐在显示器前面8小时,我会像下一个会成为这样的程序员一样感到内疚。为自己定一个时间表吧,每1小时,30分钟,甚至15分钟。如果在这期间你不能找出问题的解决办法, 那么就去寻求别人的帮助,或者在网络上去找答案,而不是尝试去做super-coder.

2、编程语言是一种语言,也只不过是一种语言。随着时间的增长,只要你理解了一种语言是怎么工作的,你就会发现各种不同语言之间有相似之处。你所选择的语言应该让你觉得舒服,并且能够写出有效(而且简洁)的代码。总重要的,让语言本身适合这个项目,反之亦然。

3、不要过头-写“设计模式”的程序。  有时候,写一个简单的算法要比把某种模式引进来容易的多。多数情况下,应该写易懂的代码,做到哪怕清洁工也得读懂。 :-)

4、经常备份代码。在我年轻的时候就有过硬盘坏掉了而丢了许多代码的经历,这让人感到相当烦躁。一次你没有备份你的数据,那就仿佛一次客户有着严格的期限明天就需要他们的东西。(The one time you don't back up your data may be the one time where you have a strict deadline with a client and they need it tomorrow. )这时源码/版本控制程序就可以帮你。

5、接受一个事实,你并不是最牛的程序员。我常常想我已经对编程了解的够多了,但是也经常会发现有人明显比我强。所以,向他们学习吧。

6、学习再学习 。像第五条说的,我经常会在手里拿一本计算机或编程相关的书、杂志(我的朋友们可以作证)。真的,你可以从中学到不少技术,这样也可以让你在工作上不会落后。当然如果你有一个更好的方式来接触你需要的新技术,那么你应该每天都学习它。

7、变化是会经常发生的。 你对编程技术的熟悉就好像你对待一支股票一样:是变化的。不要对一门特定的技术感觉良好。如果这种技术或者语言已经得不到足够的支持了,你最好马上开始更新你的简历、开始接受培训吧。我分别的主要的原则就是看这项技术能否让我继续下去。至少了解两到三种语言,这样一旦一种不行了,你还可以在学习新技术的时候依赖另一种。

8、给予新手帮助。 协助并且培养新手/初级的开发者,让他们具有良好的编程技巧。你或许从未意识到...这样你会使很多人成长,并且在培养他们为下一个位置做准备时你也会感到很开心。

9、让算法简单化。代码就像朋友一样,你完成编码以后,应该从头再看一遍并且优化它。代码上这里或者那里一点点的改进,会让后来长期维护的人轻松很多。

10、给代码加注释。 -不管是在注释一个WEB服务的API还是在注释一个简单的类,你尽管做就是。我曾经因过度的代码注释而被人指责过,而这却又是我最引以为豪的事。为三行的代码加一行注释仅仅需要你几秒钟的时间。如果是一个比较难理解的技巧,千万别担心过度的注释。你做你该做的,这就是架构师,编码助理、支撑组都最不会抱怨的地方。

11、测试,测试,测试  我是黑盒测试的拥蹙。当你完成编码的时候,你“被认证”的时候就开始了。如果你们有质量保证部门,那么相对于项目经理对你错误的评论而言,他们会评论得更多。如果你完全不测试你的代码,那么恐怕你开发的就不仅仅是代码了,可能还有你糟糕的名声。

12、为每一个成功庆祝。 我遇到过的许多程序员在解决完一个编程技术的头痛问题时,常常和他们的同伴握手、击掌、甚至手舞足蹈。每个人在生活中都会碰到“豁然开朗”时候。一个程序员高兴地跑来叫你去看他独创的代码,以你的经历或许你已经看过这样的代码100遍了,但也应该为了这个伙计来第101次庆祝这个成功吧。

13、经常检查你的代码。 无论是项目还是个人,在公司里你应该常常检查你的代码,不要把别人的指责当作打击,而是把它们看作是有建设性的批评。对个人来说,常常检查你的代码并且自问 “我怎样才能让它更好呢” 这会让你更快地成长,使你成为一个更好的程序员。

14、回顾你过去的代码。  看到自己以前的代码的时大家经常会有两种表述:“难以至信,我居然写过样的代码”和“难以至信,我居然写过样的代码”。第一种表述经常是带着厌恶的语气。想想如何去改进它,当你让这些超老的代码重新复苏,成为更好的、正常的程序甚至完整的产品时,你会感到惊喜的。第二种表述常常带着惊奇和成就感。开发者应该完成一两个经得起考验、经得起讨论的工程代码。另外,你可以利用这些代码或者工程把他们作成一个更好的产品或者想法,这就要看你优秀的代码能力了。

15、幽默感是必须的。 我20年的开发生涯中,我从来没有碰到过一个程序员没有相当的幽默感的。确切地说,在我们这个行业,这是必须的。

16、当心那些无所不知的人,不愿分享的人,和经验不足的人。当你遇到这几种程序员时首先你自己要谦虚。那些无所不知的人更想作一个英雄而不是一个团队成员,保守的人则是在编写着他们不愿意分享的代码。而那些经验不足的程序员会每十分钟就来问你一下,当他完成开发时,那代码已经是你的而不是他们的了。

17、没有项目是从来就是简单的。我曾被朋友、家人、同事要求忽忙地做一些事情,匆忙地写一个程序或者网站。应该计划能够完成两方都会满意的东西。开始时可能他只是需要一个使用Microsoft Access 的有3个页面的网站,但是随后就可能变成一个有15个页面的网站且使用SQL Server、一个论坛、一个自定义的CMS(内容管理系统)

18、任何时候不要想当然。假如你接手一个简单的项目,你可能会认为某些部分很容易完成。千万不要这样认为,除非你有一个类、组件、或者一段已经写好的代码并且已经测试通过。

19、没有软件是已经完成的。一个程序员有次告诉我没有软件是已经完成的,它们只是暂时完成了。这是明智的忠告。如果客户还在使用你写的程序,已经忍过了测试的那段时间。还有可能就是你仍在更新它,这并不是什么坏事,它可以让你不断地工作。:-)

20、有耐心是一种长处。 当客户、朋友、或者家庭成员用电脑的时候,他们可能会受挫、想砸掉电脑以至于暴走。我告诉他们,“是你在控制电脑而不是电脑在控制你。”对待用于编程的电脑,你需要有一定的耐心。只要程序员明白他们的问题所在了,他们就又从电脑的角度来看问题了,还说“呃,不就是这样嘛。”

我希望这一摞经验能够启发一些人,又或者让你轻轻一笑。

本文链接:http://www.blueidea.com/tech/program/2010/7628.asp 

出处:译言
责任编辑:bluehearts

◎进入论坛网络编程版块参加讨论

关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2