Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89881
  • 博文数量: 14
  • 博客积分: 386
  • 博客等级: 一等列兵
  • 技术积分: 208
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-06 10:48
文章分类

全部博文(14)

文章存档

2011年(6)

2010年(8)

我的朋友

分类:

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美 元。这样我们就可以就如何提高你的能力而进行有针对性的辅导。我只对五位付费者提供这项服务。在此之后,我将关闭这项服务一段时间。如果你对此感兴趣的 话,所有的细节都在这个网址上。


所以,不管你是做什么的,从今天就开始吧,除非你害怕成为一位伟大的开发者。

但是上面仍然有很多地方。(言下之意,就是仍然有很多人不是伟大的开发者)

阅读(1007) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~