<译>如何成为编程速度更快的程序员:7个有用的贴士
文章翻译自:HOW TO BE A FASTER PROGRAMMER: 7 HELPFUL TIPS FOR BEING FASTER & MORE SUCCESSFUL.
如果转载请注明。
更快速的开发究竟意味着什么?
当我读到在Quora上读到“如何成为速度更快的程序员”这个问题的时候,我的第一反应是:更快速的开发究竟意味着什么?
如果你很像我的话,你有可能会说,开发速度快对成为一个成功或是高效的程序员好像不是一回事。是吧?
程序员的成长历程
请容我讲的更直白一点。我将不会向你展示如何成为一个程序员以及如何成为一个牛逼的程序员。
因此,如果你是在寻找如何成为一名程序员的手册,我建议你去看这篇文章:7条有用的方法使你成为全栈工程师
快速vs优秀vs便宜
在过去的很多年,在参与过的很多的开发项目里,我看到过类似的三角关系。(译者注:事实上,作者是想说三者不可兼顾,你只能选择其中两个,好处不可能占全了)
当我们考虑速度的时候,代码的价格和质量会扮演很重要的角色。同时,在很多软件开发项目中,为了更快完成开发任务,会去走很多的捷径。
变得更快更成功
现在,我想要给你一些关于如何成为开发速度更快,并且更成功的程序员的灵感。
让我们开始吧!
多数的时间并没花在编码上
当我们深入的去分析程序员的时间分配,会发现,其实程序员们并未将大部分时间花在编码上,事实上,花在其它事情上的时间有可能更多。
以下我列举了很多会花费时间的事情:
1 重构和修改bug;
2 写一些实验性的代码用于验证你的想法;
3 google你所面对的问题;
4 编写测试测试并且测试它们
多写代码会使你变得更迅速
编程是有很多的套路。熟悉套路的过程被称为练习。
多练习会使得你:
1 更快速的找到思路;
2 更快速的阅读
3 更快速的把你所遇到的问题串联起来;
4 更快速的寻找到解决方案;
多练习,会让你称为开发速度更快的程序员。
集中精力(译者注: 多进行深度思考)
编程过程里,会有很多的时间花费在思考上。作为真正程序员的我们,会更倾向于深度思考(作者用的词是over-think,意思是宁可想得过度),同时还会花费很多时间去担心和思考问题和解决方案。
这是一个非常重要的事情。开始编程后,电子邮件,Slack群聊,Skype,Facebook,Twitter都需要放在第二位。
无论你是否相信,一旦这些软件弹出提醒信息的时候,你就会非常难以集中精力在更重要的事情上了。
其实只需要2.8秒,你的精力就分散了。
因此,你必须在编程时,排除掉那些有可能干扰到你的事情,让自己的精力更加的集中
使用正确的工具
如果你像我的话,你可能会非常享受使用新的测试工具和软件。有很多工具,在编程的过程中,都会在某一个方面起到特别好的作用。
只不过,虽然这些工具会让你觉得很酷,可必须意识到,它也有可能会使你精力分散,降低效率。
为自己定制好一套高效的工具链并不是一件容易的事情。从产生想法,到做出原型,再到能上线运行的系统。在我之前的blog里,我曾经展示过一套高效的web开发工具,你可以尝试使用它们去实现你的想法。
慢下来
我知道你可能会想:慢下来是怎么使我成为更快的程序员的?这不是矛盾吗?
不,接下来我会慢慢解释给你听。
让我们花上一秒钟时间去想想我们正在尝试得到达成怎样的目标
1 作为一个程序员,你会希望能发现发挥出自己的能力;
2 你像要对项目的整体框架有一个清晰的认识,知道自己会怎么一步一步实现它们以及每一步都要去做什么;
3 你希望有一种直觉,当发现项目走入错误方向时,你可以及时的发现它们
有了这种想法,你可能就会明白我的意思了。慢下来会帮助你理清思路,始终保持在正确的方向上前行。
下面是一些小技巧,可以使你变得从容不迫:
1 充足的睡眠;
2 时不时换个工作地点试试。创意有可能会随着工作地点变换,而迸发出来。没准你走出办公室,随意的在外边散散步或是去咖啡厅坐一坐,就会使你产生很多的新想法;
3 多倾听。当事情特别烦杂的时候, 倾听其实并不会有助于你冷静下来,但是同样有可能会激发起你的灵感来。
尾声
还有很多的东西有助于你加快开发速度,但是我没有列举在这里。你只需要明白,除了编程以外,程序员还会花费很多时间在许多其它的事情上。
总而言之,在stackoverflow,Quora等等上还有许多关于如何加快你的编码速度的讨论。
最后,我想引用 Jeff Atwood的一些话作为结束:
1 停止空谈理论;
2 多写代码;
3 总结过去的错误;