2012-2-28
如何成为一名专家级的开发人员
原文作者Jenkov是一位丹麦资深开发人员
一旦你开始掌握选择的平台,你应当开始学习独立于平台的技能,比如模式设计、分布式系统设计、系统
机构和可用性等等。在你取得进步时,你将要花更多的时间来学习这些技能。这是好事。因为这些技能不受平页台限制,更容易转移新的技术平台。
最后,你或许会脱离软件开发,转入到诸如项目管理或架构师的完全不同的业务领域。请谨记,一旦你停止使用你的开发技能,你的专家之路将更加长远了。
怎么知道自己该学习什么,查看招聘广告不失为一个好办法。看看最常用的工具和技术?阅读一些在线软
件杂志,看看行业人士讨论最多的技术是什么?泡相关论坛和博客,看看他们最常问的问题是什么?还有,人
如何成为一名专家级的开发人员页们谈论最多的技术是什么?总之一句话,什么技术是明天的热点?
---------------------------------------------------------------------------------------------
风雨20年:我所积累的20条编程经验
原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员
1.
估算解决问题所需要的时间。不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示
器前面8小时。为自己定一个时间限制吧,1小时、30分钟或甚至15分钟。如果在这期间你不能解决问题,那就
去寻求帮助,或到网上找答案,而不是尝试去做“超级堆码员”。
2.
编程语言是一种语言,只是一种语言。随着时光推移,只要你理解了一种语言的原理,你会发现各种语
言之间的相似之处
。你所选择的语言,你应该觉得“舒服”,并且能够写出有效(而且简洁)的代码。最重要
的,让语言去适应项目,反之亦然。
3. 不要过于注重程序的“设计模式”。
有时候,写一个简单的算法,要比引入某种模式更容易。在多数情况下,程序代码应是简单易懂,甚至清洁工也能看懂。
4.
经常备份代码。在我年轻时,我就有过因硬盘故障而丢了大量代码的经历,这经历很恐怖的。只要你一
次没有备份,就应当像有着严格的期限,客户明天就需要。此时就该源码/版本控制软件大显身手了。
5. 承认自己并不是最顶尖的程序员 -
知不足。我常想,我对编程了解已足够多,但是总有其他人比你优
秀。正所谓,“一山总比一山高”。所以,向他们看齐吧!
6、学习再学习。正如第5点所说,我经常会在手里拿一本计算机或编程相关的杂志或书(不信,可以问我
的朋友)。诚然,总有很多你不知道的技术,你可以从中学习以保持不落后。如果你有一种灵巧的方式来获取
你需要的新技术,那你每天都应该坚持学习。
7.
永恒的变化。你对待技术/编程知识,就应像你对待股票一样:多样化。不要在某一特定技术上自我感
觉良好。如果那种技术或语言已经没有足够支持,那你还不如现在就开始更新你的简历,并启动培训新计划。
我能保持前行的主要原则是什么呢?至少了
解两到三种语言,所以,如果某种语言过时了,你在学习新技术的
时候还可以依靠另一种语言。
8.
提携新人。协助并且培养初级/入门的开发人员学习优秀的编程方法和技巧。也许你还不知道,在帮助他们向更高一层前进时,你自己也在向更高一层提升,你会更加自信。
9.
简化算法。代码如恶魔,在你完成编码后,应回头并且优化它。从长远来看,这里或那里一些的改进,
会让后来的支持人员更加轻松。
10.
编写文档。无论是Web服务的API,还是一个简单的类,你尽量编写相应文档。我曾经引以为豪的代
码注释,因过度注释而有人指责。给三行代码加一行注释,只需要你几秒时间。如果那是一个比较难以理解的
技术,千万别担心过多注释。如果你能很好做好自己的工作,大多数架
构师、后备程序员、支持组都会感激
你。
11.
测试、测试再测试。我是一名黑盒测试粉丝。当你完成编码后,你“被认可”的时候就开始了。如果你们公司有QA部门,如果你的代码中有错误,那你得到的评论,会比项目经理还多。如果你不彻底测试自己的代码,那恐怕你开发的就不只是代码,可能还会声名狼藉。
12.
庆祝每一次成功。我见过很多程序员在解决编程技术难题后,会和同伴握手、击掌或甚至手舞足蹈。每个人在生命中都会碰到“顿悟”。如果一个程序员高兴地跑来叫你去看他的非凡代码,也许你已经看过这样的代码100遍了,但你也应该为了这个家伙而庆祝第101次。
13. 经常检查代码。
在公司,你的代码要经常检查(包括自查和其他同事检查)。不要把别人的检查,看
成是对代码风格的苛求。应该把它们看作是有建设性的批评。对个人来说,经常检查你的代码并且自问,“我
怎样才能写得更好呢?”
这会让你加速你的成长,让你成为一个更优秀的程序员。
14. 回顾你的代码。在
看到自己以前的代码时,通常会有两种方式:“难以至信,这代码是我写的”和
“难以至信,这代码是
我写的”。第一种往往是厌恶的语气,并在想如何改进它。你也许会惊叹,旧代码也能
复活成为一种更好的程序,甚至是一个完整的产品。第二种通常带着惊奇和成
就感。开发人员应该一到两个自
己完成的项目成果,能让众人不禁而立并注目而观的项目。同样,基于你优越的编程能力,你可以把过去的程
序或项目拿出来,把它
们更新为更加优秀的产品或想法。
15.
幽默是不可缺的。在我20年的开发生涯中,我还没有碰到哪位程序员是没有幽默感的。实际上,干我
们这行,幽默是一项必备品。
16.
谨防那些无所不知的程序员,不愿分享的程序员,还有经验不足的程序员。当你遇到这几种程序员时,你自己要谦虚。无所不知的程序员,更想当一个英雄而不是团队成员;保守的程序员则是在编写着他们独享的代码;而经验不足的程序员则会每十分钟就来问你一下,当代码完成后,代码已经是你的,而不是他们。
17. 任何项目都不会那么简单。朋
友、家人和同事曾请求我仓促做一些事情,仓促做一个程序或者网站。
对于这样的事,应该
从双方做计划,才能做出令两方都会满意的东西。如果某人起初只是需要一个使用
Microsoft
Access的、只有有3个页面的网站,但来就很可能变成一个有15个页面的网站,并使用SQL
Server,有一个论坛,还有一个定制的CMS(内容管理系统)。
18.
任何时候不要想当然。假如你承接一个简单的项目,你可能会认为某个部分可以轻松完成。千万别这样想!除非你有一个类、组件、或者一段已经写好的代码,并且在现有的项目已经测试通过。不要认为这将是很容易的。
19.
没有已经完成的软件。曾经有一位程序员告诉我,没有软件是已经完成的,它只是“暂时完成了”。这是明智的忠告。如果客户还在使用你写的程序,并经受了时间的考验。如果有机会,你仍在更新它,这并不是什么坏事,这让你不断地前行。
20. 耐心是一种美德。当
客户、朋友或家庭成员用电脑的时候,他们也许会受挫,进而想砸电脑,或气冲
冲地离开。我一直在
告诉他们,“是你掌控电脑,不是电脑掌控你。”对于用作编程的电脑,你要有一定的耐
心。一旦程序员知道问题所在后,他们就会站在电脑的角度看问题,并且说
“哦,这就是为什么它是这样做。”
分享到:
相关推荐
能不能得道,就看你在见到别人做出一些花里胡哨的东西时,是不是能坚定信心、耐住寂寞、抵御诱惑了。 一个和我一起学习C语言的人,学完就直接开始玩VC,而我则潜下心来学了些C++和理论方面的东西。早早地,他就能...
读懂别人编写的没有代码的程序,比自己编写更困难一些,但的确是值得的。 第8章 进入Windows内核 96 8.1 开始Windows内核编程 97 8.1.1 内核编程的环境准备 97 8.1.2 用C语言写一个内核程序 99 8.2 学习用...
读懂别人编写的没有代码的程序,比自己编写更困难一些,但的确是值得的。 第8章 进入Windows内核 96 8.1 开始Windows内核编程 97 8.1.1 内核编程的环境准备 97 8.1.2 用C语言写一个内核程序 99 8.2 学习用...
编程规范,让你的代码更容易被别人读懂。在团队开发中,大家都得遵循这样一种既定的规范。
现在,在软件生产领域存在巨大的智利浪费,大家把大量的精力用在编写别人已经实现的程序代码上。看看,文本编辑器有多少,看看ftp程序有多少,看看字处理程序有多少,这些程序虽然有差别,但主要的功能都是一样的。...
首先能认识到名称的重要性需要有一个过程,这也许跟谭式C程序教材被大学广泛使用有关:满书的a、b、c、x、y、z变量名是很难在关键的初学阶段给人传达优秀编程思想的;其次如何恰当的为对象命名也很有挑战性,要准确...
在满足这个前提条件下,我们希望我们的程序能很容易地被别人读懂,或者能够很容易地读懂别人的程序,在团体合作开发中就能起到事半功倍之效。在网上请求帮助时,如能以规范的写法贴出程序,网友会比较容易地明白你的...
不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋! 16.我还是强调认真...
使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用语和模式可以使代码更加容易理解...
绝对高清!更更看完 很强大。。完整的O。小心别人的只有一部分。
他参与本书的编写就是为了帮助别人实现这一目标。 目录 封面 -11 封底 -10 扉页 -9 版权 -8 版权声明 -7 致谢 -6 目录 -5 第1章 SQL核心 1 1.1 SQL语言 1 1.2 数据库的接口 2 1.3 SQL*Plus 回顾 3 1.3.1 连接到...
在满足这个前提条件下,我们希望我们的程序能很容易地被别人读懂,或者能够很容易地读懂别人的程序,在团体合作开发中就能起到事半功倍之效。在网上请求帮助时,如能以规范的写法贴出程序,网友会比较容易地明白你的...
使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一 编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用 语和模式可以使代码更加容易...
使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用语和模式可以使代码更加容易理解...
教你如何读懂别人的代码,呵呵呵,有利于编程!!!!!!!!!
读懂别人编写的没有代码的程序,比自己编写更困难一些,但的确是值得的。 第8章 进入Windows内核 96 8.1 开始Windows内核编程 97 8.1.1 内核编程的环境准备 97 8.1.2 用C语言写一个内核程序 99 8.2 学习用...
读懂别人编写的没有代码的程序,比自己编写更困难一些,但的确是值得的。 第8章 进入Windows内核 第9章 用C++编写的内核程序 第10章 继续探索Windows内核 深入篇 修改内核 这是本书的第四部分。读者已经尝试过探索...
在满足这个前提条件下,我们希望我们的程序能很容易地被别人读懂,或者能够很容易地读懂别人的程序,在团体合作开发中就能起到事半功倍之效。在网上请求帮助时,如能以规范的写法贴出程序,网友会比较容易地明白你的...
信息安全编程指南 学会阅读和参考别人的源代码,比如PGP,openSSL,均包含了大量的信息安全实现的代码,对于这里的大部分题目都已足够。注意读代码是非常重要的。 学会寻找相关的类库、函数、接口、第三方代码以及...