如何成为一名优秀的程序员

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

如何成为一名优秀的程序员

                                                 suncsea 2008/5/26

成为一名优秀的程序员,要有思想,不仅要有肉,更要有血,血是灵魂。因此,本人,要写一些实实在在的血在这里,供大家讨论,点评。 

1、听话与创新

a)         听话:程序员在某种程度上是一个执行者,要成为在项目中一个优秀的程序员,最首先要做的就是听话。听技术经理,项目经理的统一安排,根据已经制定的编码规范进行编码及文档写作。

b)        不要想当然:新手上路,问题总是很多。这些问题也一定是老手所经历过的,不懂就要调查,要问,不能想当然。不能你认为这样写,就这样写,那样是个人主义。

c)        创新:创新是相对的,对于现有规则,要严格的执行,对于个别规则,如果大家反应有问题,可以提出改进。对于没有建立的规则,要协调项目经理,技术经理去增加,改进。规则不一定全是合理的,但制定了,要执行,而不能制定了后,还要自己搞一套,那样不好控制。

d)        你的任务真的完成了吗?有许多人,把代码写完了,正常功能跑通了,就到PM那里说:“Sir,我编码完了,还有其它事情吗”。看,多好的组员呀。真的吗?你的任务真的就完成了吗?未必吧。去跑跑异常情况,去进行大量的异常测试,大量的文件,数据库访问测试。估计,你也只能是完成了60%吧。回去,安心的全方面的进行单体吧。

2、重用

a)         观念上要有重用思想。凡事不要上来就写,上来就做。首先想到的应该是重用。一来,可以节省更多的时间,二来,既存代码是经过充分测试的,可以保证质量。

b)        重用是有条件的。找到既存的资源,不要直接使用,要保证先懂了,再用。特别是对于直接copy过来的资源,是很容易产生bug的地方。

3、积累

a)         是一项长期任务。要有自己的分类方式,把积累做为一项任务来长期的执行,不可3分钟热度。

b)        积累要先懂。不要把别人的内容做为一种资源去炫耀,让其先成为自己的,看了,懂了,再去"炫耀"。否则,那永远是别人的,你自己永远只是在保持一种虚荣,而没有真正懂得。

4、重构思想

a)         重构随时都要发生。不要说,等我把这部分全写完了,再用专门的时间来进行重构。实事告诉我们,那时,你还在检测bug,没有了那份心情。在每写一个函数时,要给出一个非常贴切的函数名。每写一段函数内的业务逻辑时,要考虑,此逻辑是否会被多次使用,如果是,提出一个新函数。在平铺一类代码时,要想是否可以通过循环来解决。

b)        注释随时都要发生。注释是你思路的一个体现。不要上来就去直接写细节,先用几分钟去想一下,此逻辑分为几个部分,用注释先写出来,然后,按着注释的思路去灌水代码。在关键的代码处,要写出注释。在函数写完后,不要忘记函数注释。

c)        你的孩子将来不是你的。这是一个可怕的事实,你写的代码是大家的,不是你一个人的。所以,你面对的不仅是你一个人,而是更多的人,也就是你的代码要让更多的人明白,不然你会招到社会谴责,说你不负责任。务必要对自己的代码负责,为更多的人负责,把你的代码注释写好,逻辑写清,调用关系写明。

5、责任思想

a)         每个行为的责任都必须是明确的。如果别人问你,吃了吗?你回答说:“吃了,还去了次WC”。在代码中不要出现这样的“吃了”行为。我们希望你的函数只是“吃了”。不要让你的函数超过50行代码,让你的函数的职责尽量的明确,尽量的单一,不要包罗万象。

b)        责任范围要适中。类,函数,属性,他们都有合适的访问范围,要各得其所,不要上来就给人家一个“主席”的权限。“主席”多了会动乱的。访问权限一定要保守,从private开始,不够再放大,还不够,再放。不要一下子就给出一个public。

6、简单与优化

a)         一定要有性能意识。固然,你的代码可以运行,用了最简单形式的语句,用了大量的排比,生产了许多的对象,程序运行起来了。这些代码一定是在你没有去认真想,而直接去上手了。想一想吧,现在不想,将来的性能调试,你会吃尽苦头的。特别对于文件访问,数据库访问,内存数组操作等容易产生性能瓶颈的地方,一定要小心编写。

7、交流

a)         对事不对人。软件开发,就是要交流。思路不一样,个人原则不一样,争论是永远都有的。不要怕,去争吧,只要是大家在寻找着一种更为合理的方案,而不是把此当然工作中的闲聊就可以。不要搞人身攻击,记住,面对的是事情,而不是人。

b)        交流,是大家快速进步的有效途径。在同一项目组中的大家,水平上有分别,但同水平的人一定不少,大家面对同样的需求,类似的任务,交流的基础是很好的,不要把自己封闭起来。

8、共享

a)         要有共享意识。把你的收获与别人共享,别人的共享也会给你。这样,大家就都提高了。软件开发,这东西没有太多的高深,会与不会,只是一层纸。正是做软件先做人,在某种程度上,你做人做的好,你的知识也自然有优势。共享就是这种优势的结局。

b)        要主动共享。比如,大家同时在写文档,或在编码。你可以把自己遇到的问题及解决方案,主动的群发给大家,让大家共识。这种主动,收获的是全项目成员能力的提高,而不仅仅是原来的你。

 

以上,如有雷同,纯属巧合,仅为抛砖引玉,希望能听些水声,与大家共勉。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值