全部博文(14)
分类:
2010-11-04 13:07:53
原作者Eric Davis
是Redmine的一个活跃开发者
我想在这里分享我成为一位伟大的开发者的两个步骤。成为一位伟大的开发者是一个不断进行的过程,这也同样是我曾在其他伟大的开发者身上所看到一样。
第一步:编写更多的代码
这听起来似乎很容易,但请相信我。这里有一大堆是我们这些开发者不愿写代码的借口:
1.我没有时间;
2.我不懂得这个代码的库;
3.我没有好的环境去写代码;
4.我不知道怎样开始;
5.我很累。
这些借口都可以归结到恐惧。你们对有些事情感到恐惧。害怕浪费时间,害怕在人们面前出丑,害怕犯错误,害怕害怕本身。
让我与你们分享两个故事,主要是关于我所恐惧的。
我几年前曾是Redmine(注:这是基于ROR框架开发的一套跨平台项目管理系统,是项目管理系统的后起之秀。)的代码贡献者。但我却并不是一个代码库
中的积极分子。为什么呢?因为Redmine是一个大型的复杂的代码库,而我也不知道这一切是如何工作起来的。所以,我只是在我的小天地里只做些轻微的修
改。最后我发现了一个打破这些问题的方法了,就是亲自去实现它。
使用我的产品,seeprojectrun,我必须要向使用者通过信用卡收费。要是收现金的话是会令人抓狂的。在听了许多关于开发商把这事搞砸的恐怖故事
之后,我变得像死一样害怕这事,并且推掉了所有编写付费代码的工作。是的,作为一个曾为商家开发过四个信用卡接口的我,现在变得害怕为账单上的客户编写付
费代码了。这到底是在搞什么呀?(注:WTF是what the fuck的缩写)
如果你迁就着恐惧,那它就会像是一个会偷走你生活的情妇。那么怎样才能消除你对编写更多代码的恐惧呢?
编写更多的代码
就像你所听到的那样奇怪。我发现要克服编写代码的恐惧的唯一方法是让它从哪来就回哪去。这就是解决这个问题的最简单的办法?开始一个新的小项目,为开源项
目提交补丁。每一次你编写代码的时候,你就会学到一些关于编程的东西,你的开发工具,或者你自己。难道你真的认为我那超过57篇的每日重构邮件就只是为了
修补那些不好的代码吗?不,它们都是我砸向编程者定势的大锤。
哦,关于我害怕编写代码的故事已经结束了。
我昨晚刚完成了Redmine的核心代码的改写工作,今天早晨就确认提交了它。如果它崩溃了,我就修复它
,如是果它真的是垃圾代码,我就彻底地扔掉它。没有人会在意,没有人会记住这个错误的。
在未来两天里,我把自己的心定下来,专心完成那些为SeeProjectRun通过信用卡收费的代码。通过200多
次的案例实验,已经证明我足以完全克服对编写代码的恐惧了。
不要害怕编写代码。
第二步,与伟大的开发者一起工作
要想有创造性地编程,你就需要与伟大的开发者一起工作,这样你就会看到他们是如何编写代码的。
只需要:
1位热情的开发者(你)
1位伟大的开发者(他们)
一点儿代码
每天与这些打交道,通过一点点的提升,你将会有两位伟大的开发者。随时补充一些高手(伟大的开发者
),然后继续。你没有必要一直去寻找所有的伟大的开发者,你只需要寻找在技术上比你更加巧妙、更要高明的开发者。但是如果你的公司没有雇佣伟大的开发者,或者你就像我一样只是一个自由的代码开发者,那该怎么办呢?
开始阅读伟大的开发者编写的代码
我把阅读伟大的开发者的代码作为我的一个爱好。他们贡献出如此众多的代码,你会在阅读如此众多的代码中发现自己,甚至做着编写代码的梦。(注:那些聪明的开发者往往能够开发出新的代码,他们往往就做第一步,即编写大量的代码)
开始吧
现在开始行动吧,如果你不付出行动,你将永远不可能成为一位伟大的开发者。
1.每周必须坚持每天在新的代码库中编写至少一行的代码。每一个星期结束后交换代码库。
这可能是一个新的功能,一个漏洞的修改,一个重构,或者只是想法上的一个恶作剧。这不重要,通过思考如何编写代码,然后再将它写出来。难道你不知道好的代码是建立在一个好的开始(设想)之上吗?在edmine中做一次重构,然后在下面的评论中反馈给我。
2.每周找到一个从伟大的开发者学习的方法
如果你和伟大的开发者一起工作:
私下地查看他们最后提交的代码;
邀请他们一起修改比对程序代码;
或者帮他们买午餐,询问他们常用方法。
如果你一个人工作:
下载一些流行的项目,然后每周阅读一小类;
每当你发现一种方法时,就去获取一些显示源代码内容关系的API文档,
或者找一位导师,并与他们就某些实际的代码一起工作。
无耻的自我推销
我想做一个报价。如果你不想读它,请跳过。我会等待你的决定。
太好了,你没有跳过。我已经从创造我的Redmine插件中学到了很多东西。我想分享我的这些知道,但是没有一种文字的交流能够代替一对一的互动。所以今
天早晨,我开始了一项服务。我将为付费者提供一对一的辅导,以帮助他们提高在Redmine开发上的技术水平。这是一项完全可定制的课程,每周179美
元。这样我们就可以就如何提高你的能力而进行有针对性的辅导。我只对五位付费者提供这项服务。在此之后,我将关闭这项服务一段时间。如果你对此感兴趣的
话,所有的细节都在这个网址上。
所以,不管你是做什么的,从今天就开始吧,除非你害怕成为一位伟大的开发者。
但是上面仍然有很多地方。(言下之意,就是仍然有很多人不是伟大的开发者)