不止程序员,相信各行各业都存在不同的坏习惯。或许你并不自觉,这些习惯却在无形中拉低了你的工作效率。the Fire house Project 的代码导师 Ken Mazaika 认为程序员最容易落入这35个坏习惯:
个人认为程序员需要避免的坏习惯有35个,其中最重要的两条分别在17和35。希望我的建议对你有用。
1. 表现得像一个“万事通”。不要执着于成为一个“万事通”。你真的不必要知道一切知识,而且你真的不必放在心上。
2. 整天参加会议。如果你的大部分时间都花在会议上,是时候考虑一下如何有效利用时间了。
3. 一有人批评你的代码你就炸毛。一个优秀的程序员永远乐于接受指正与批评,也永远对如何改进自己的代码充满好奇。
4. 太早放弃。很多程序员都会在临近得到最终解决方案的时刻放弃,千万不要这样。
5. 不愿意向他人求助。遇到困难的时候,如果你可以清晰地向他人描述自己遇到的问题,通常你就能解决问题。这就是著名的“橡皮鸭调试法”。
6. 迁怒于他人。优秀的程序员应该学会为自己写的代码负责。
7. 过早地吹嘘优化代码。大部分情况下,过早地写出一个最优化的代码可能并不是很值。
8. 无视他人的意见。对于程序员,和其他有经验的开发者结对编程是个很好的学习方法。你要勇于征求他人的意见。
9. 不知道怎么优化代码。比如,算法复杂性、低效的数据库操作、第三方应用程序界面、N+1查询等等。如果遇到了代码性能的问题,你必须知道如何分析这些问题,也要知道如何修正问题。
10. 低估团队关系的重要性。虽然你的工作只是写代码,不过团队之间的互动也很重要。
11. 搅入过多的“办公室政治”。有时候,你可能会觉得公司里其他的开发小组提出的决定很奇怪。但是只要你可以完成自己的小组里的项目,最好的办法就是想些变通措施应对别的小组,不要去正面硬碰硬。
12. 被压力压垮。一旦面对一些用户无法使用的脚本,你可能会遭受巨大的压力。你应该学会保持镇定,冷静地解决问题。
13.   拒绝写糟糕的代码。现实中,当你遇到紧迫的截止日期,或者试验,或者需要紧急修复的bug……你就需要万金油。你必须要灵活应变,写一点糟糕的代码来完成紧急任务。
14.   为简单的问题花费过度时间。永远不要用复杂的方案解决简单的问题。
15.   表现得不像个领袖,而像个颐指气使的老板。很多开发者不知道如何管理团队。作为领袖,你应该是其他队员遇到困难时求助的对象,而不是给出死板的步骤的指挥员。
16. 使用错误的工具。不要把自己框死在已知的工具里。应对不同的问题时,你要勇于接受不同的科技、语言和框架。
17. 遇到代码问题永远不动手搜索。对于程序员,Google绝对是最强大的搜索工具之一。
18. 不能熟练运用自己的工具。既然你工作的大部分时间都要和文本编辑器、命令行或者其他代码工具打交道,你就必须熟练运用它们。你应该多花点时间学习一些高效运用工具的小技巧。
19. 回避错误信息。代码错误是很常见的问题。你可以从中发现自己哪里出错了,出错的原因是什么,以及具体到哪一行代码引发了错误,而这些都对你都很有价值。你应该做的是找出错误,而非尽力回避错误信息。
20. 总是在计算工作时间。优秀的程序员应该享受写代码的每分每秒,甚至沉迷于此。写代码并不是你工作了一段时间之后令你感到痛苦的事。
21. 不从错误中吸取教训。这会使你变得很低效。当你犯了错,好好细化这个错误并且从中分析:这个错误的直接原因是什么?以后我在写代码的时候,能不能采取一些措施避免相同的或者类似的错误?我能否更早发现这个错误减少损失?
如果你总是不从错误中获取经验,你就会重复犯错。
22. 不愿意删除错误代码。要知道,如果你花了三天时间写了个错误代码最后分析中止,你可能会“收获颇丰”。
23. 对你的工具箱太专情。有的程序员特别爱用vim文字编辑器,但是有的特别爱emacs。但事实上,在某些脚本里你会发现你不爱的那一款更好用。
24. 孤立自己。你会发现身边有很多程序员社区,比方Railsbridge,Girl Develop It等等,还有很多团聚活动,著名的有RubyConf,RailsConf和much more。你应该试着融入大家。
25.   没有推特账号。一些著名的开源项目的生成器,诸如ruby,rails,JavaScript等等,都会在推特上提供。时不时浏览一下推特,你能一窥那些软件开发者的想法。
26.   从不回应社区生活。尽早融入编程社区。你会发现这些社区有益又友善。
27. 花费大量精力解决问题,却不记录下来。你可能时不时就会遇到一些之前没人解决过的奇怪问题。花费了大量精力解决这个问题后,你应该写下来Po在网上用以帮助将来会遇到这些问题的人。
28. 在代码里写过多,或者过少注释。代码里的注释很重要,但是注意适度也很重要。
29. 懒得帮项目经理更新问题。对于项目经理,获取及时的更新以及掌握产品现状是很重要的事。如果你总是懒得及时更新问题,那就可能引发更多问题。
30. 总是在主动推荐中捆绑不相关的特性。很多程序员有个习惯就是在主动推荐中捆绑几个不相关的特性。要知道如果这两个特性太大的话,一旦出了问题就很难解决。
31. 和队伍里的其他成员费尽心思想出很好的解决方案,但是一旦出现了预期中的问题就完全放弃这个方案。这绝对会是你做出的最糟糕的事。
32. 执着于一个你费尽心思后得出的方案,尽管它一点都没用。抗拒终止一个无用的方案——这是唯一比在最后一分钟决定放弃之前的方案更糟糕的事。
33. 不断因为自己写出糟糕的代码而道歉。如果你总是在为自己写的糟糕的代码道歉,是时候重新评估一下自己的项目截止日期了。
34. 不愿意审核代码。开发队伍是一个团体,每个人都有责任确保其他成员写的代码是否达到了队伍的标准。
35. 不愿意帮助队伍里的其他人。你有义务和团队一起学习、成长,渐渐地,你们都会变得更优秀。
打个比方,我认为每个程序员只是个“半成品”,所以有这些坏习惯是再正常不过的。事实上,要成为一个更好的程序员,你应该做的是如下三步(不过这三个步骤也可以应用于其他行业):
1. 认识到自己的坏习惯
2. 有改变坏习惯的动力和决心
3. 化决心为行动,改变坏习惯,养成好习惯
原文链接
继续阅读
阅读原文