如何成为一个伟大的开发者(二)

来源:互联网 发布:网络音乐 版权 政策 编辑:程序博客网 时间:2024/04/29 22:32

作者简介:Peter Nixey,Ruby on Rails程序员,前计算机视觉学者、企业家,Clickpass公司CEO,YC孵化器的企业规划导师,Brojure公司CTO。

积累——先求深,再求广

程序员在开发过程中,常常会遇到各种各样的问题,但很少是完全陌生、其它团队也没有遇到过的。在Stack Overflow上最吸引眼球的提问,大多曾在其它地方出现过。

多数时候,程序员所用的编程语言本身就自带了解决方案。笔者曾经调用一个封装好的内建函数,将一段60行代码重构到1行。

重复造车轮般的过程去实现那些编程语言内建的函数不仅浪费时间,也意味着程序的代码将更冗长,还可能引入bug,需要更多的单元测试和注释文档。

好好打牢自己的基础吧!如果你是一个ruby程序员,就好好学习Ruby丰富的数组方法;如果是Node开发者,就好好去理解node.js的架构;如果是Angular程序员,就去理解其内核背后的逻辑。在动手实现之前,先仔细查阅文档。记住,我们都站在巨人的肩膀上。把时间花去学习那些顶尖程序员的思路和方法,要正确的多。

培养对代码的嗅觉

很多程序员水平不错但是遇到了平台期,问题常常出在他们不知道如何提升自己。这也许是技术生涯里能够遇到的最糟糕的事情了。要想知道如何提升自己,首先得知道需要在哪方面有所提升。一个优秀的象棋手,总是会花时间研究其他优秀棋手的路数,对于一个优秀的程序员来说,也是如此。

要想提升自己,最好的办法莫过于培养对代码的嗅觉。哪怕不能清楚地说出原因,也能察觉到一段代码的问题在哪里。什么是代码嗅觉?比如读到一段很难懂的代码,会察觉到哪里有问题。面对一个很基础的功能,你会觉得语言本身应该有函数封装。要培养对代码的嗅觉,需要培养对代码的审美水平。代码之美,简单优雅!

在开发的过程中,应该力图将代码写的简单优雅。如果只能用复杂丑陋的方法实现,那起码要逻辑清晰。没有对优雅和糟糕代码的嗅觉,技术水平将难以提升。

提升代码可读性

Joel Spolsky曾经说过,Stack Exchange不仅造福那些提问者,也造福那些看到提问的阅读者。为什么?因为许多人遇到的问题都是相似的,这些相似的问题都可以参考这个解决方案进行处理,效用便最大化了。

程序员写代码时也应采用类似的策略。也许代码仅由你自己写,且只写了一次,但它会被很多人阅读、修改。所以,在写代码的时候,除了完成任务以外,还应力图不给后来人造成麻烦。在开发过程中,除了有良好的命名规范,还需要用严格的单元测试来保证代码足够耐用,经得起考验。种因得果,设想一下,一年之后在完全没有耐心,时间又紧迫的情况下,让你来读现在写下的代码,你理解那种心情吧!

0 0
原创粉丝点击