专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
程序员小灰  ·  一个时代彻底终结了。 ·  3 天前  
OSC开源社区  ·  阿里最受欢迎Java开源项目——Nacos开 ... ·  5 天前  
程序猿  ·  红帽RHEL将成为微软官方WSL发行版 ·  1 周前  
51好读  ›  专栏  ›  OSC开源社区

10 个习惯助你成为一名优秀的程序员

OSC开源社区  · 公众号  · 程序员  · 2016-11-22 08:29

正文

#长按上图识别二维码,参与OSC源创会年终盛典#


当谈到编程时,很多人应该都有听过10x程序员的说法。 据说一个10x程序员的效率大约是其他程序员的10倍。


这是一个有争议的话题,无论你选择相信10x 程序员,还是认为这十分可笑,下面的 10 个习惯可以在一定程度上助你成为一名势不可挡的优秀程序员。


1、积极使用搜索工具


作为开发人员,你需要了解如何利用搜索解惑,查看其他人对你正在研究的主题所讨论的话题和内容,并将学到的知识应用于手头的项目。


当面临一个问题,优秀的程序员应该知道如何花很少时间去查验和解决手头的问题。


2、保持初学者心态


技术发展如此之快,需要不断地学习新技术。 因此,当没有经验的时候,你需要适当地用新的视角看待事情。优秀的开发人员享受作为新技术的初学者的过程,并掌握自我教育的节奏,以尽快自给自足。


每个专家在某个时间点都可能是一个初学者。 而且有这么多的技术,即使在某个技术领域是专家,在另一个可能就是菜鸟。


3、将小事做好


当编写程序时,它通常会让你觉得需要做出十亿个决定,即使你只是添加一个小功能。 你需要考虑诸如命名变量、调用函数、命名CSS属性、使用hash与使用数组、命名事物等等。


为你干的事情做好命名是编程中一个重要的部分。 这不容易, 但很重要。有开发人员还开玩笑说,在计算机科学领域有两个难题:缓存无效+命名。


新程序员通常不会对变量和函数命名足够重视, 普通程序员会花更多的时间去思考它,而优秀的程序员已经通过之前遇到错误和问题学到了经验。 他们找到了来帮助他们命名变量的模式,他们甚至不需要再去考虑它,因为一直沿用相同的方式命名就好。


4、收放自如


在构建应用程序的过程中,往往需要做出重大决策,这将影响你如何编写大多数代码。例如,在ruby中,你可能需要权衡MiniTest和RSpec之间的区别。 人们对于这些类型都有着强烈的自我意见和看法,因此容易引起争执。 但是优秀的开发人员想法不同,往往不太在意这些,他们重视编写、测试的习惯,他们知道你使用的具体工具其实不那么重要。


优秀的程序员往往不参与其他开发者的相互争执和指责中,他们更收放自如。


5、使用正确的工具


在编程中,有许多不同的开源库、工具和框架可供使用。 优秀的程序员不断地评估他们正在使用的工具,并找出为工作选择正确工具的方法。 由于他们习惯自给自足,他们愿意承受学习新东西的痛苦,只要它们能帮其提升效率。


有很多的开发人员喜欢去搜索和查看相关的文档、博客文章来比较工具,并最终选择一个单一的工具。但优秀的开发人员会将他们的研究缩小到2-3个选项,并迅速将这些工具应用到他们的项目,以了解它们是如何在他们的环境中工作的。


6、理解 “ code is cheap ”


优秀的程序员往往可以产生更多的产出,因为他们不会被沉没成本误导。这些东西很容易导致人们做出不合理的行为,特别是在编写代码的时候。


在编码中,沉没成本的误导涉及到花费在解决某个问题上的时间。例如,考虑一个场景,其中某人开始为项目编写代码,并预计需要大约一个星期。他们根据这个预期做出决定,在完成项目一整个星期后,他们意识到它实际上需要一个月。大多数开发人员将继续他们已经开始的路径走下去,证明他们的决定,并展示已经做了一个星期的进展来进行说服自己。


但是优秀的开发者思考方向不同:

“ 有一种其它的方法,我认为只需要半个月就能搞定。这意味着如果采取这种方法,它将可能比我保持现在的路径一直走到底要快两倍。”


7、使用正确的技术


一群人在屋里评估技术,然后忽略掉一个在特定技术里的大拿这种情况并不罕见。 


例如,我非常有声望,我对 Elixir 编程语言很是看好。但是这项技术很新,如果想要实际构建复杂的功能,可能会相对其它更难找到相应的开源技术,这将提升团队构建的难度。


解决问题需要最实际的决定,使用的技术应该是基于它能够很容易在2016年,在目前实现。在2017年、2018年、2020年,技术可能会有所不同,那时候再根据需要进行调整。


8、不知道就说 “ 不知道 ”


拒绝承认你不知道的东西是很容易导致浪费你时间的事情。 作为一个优秀的程序员,你要明白你的自我价值并不受那些你不懂的东西束缚。

 

初学者经常难以发现最新技术的发展趋势,优秀的开发者会意识到,他们所知道的每一种技术(编程语言,框架,库等)都可能不再是明天的可行选择。 他们会提前考虑更高级别的编程方式和问题解决方式。


9、始终分析错误消息中提示的线索


传统教育告诉我们,失败是不可取的。当学习代码时,错误消息通常与失败相关联。学习如何排除故障和调试错误消息是一个重要的技能。


还值得注意的是,开发人员可能会再次遇到类似的错误消息。你应该专注于学习如何解决问题,以及为什么你需要解决它们。这样做将允许你以更快的速度修复类似的错误。


10、不安于目前的成功


错误往往是最好的学习机会, 所以不要把错误当作失败。 相反,将他们当作可学习的机会,并评估如何防止情况下一次发生。成长的关键是理解如何使同样的错误只有一次。


编程,就像生活中的许多事情一样。这就是为什么这么多的行为,能帮助你做好一名优秀的程序员,也能帮你在日常生活中做一个优秀的人。


参考资料:http://blog.thefirehoseproject.com/posts/



推荐阅读
从零开始学做微信小程序,看这些就够了!

为何我暂停了维护 Python 社区的志愿者工作

15 款顶级开源人工智能工具推荐

那些适合日常使用的开源工具和应用(办公篇)

DB-Engines 11月全球数据库排行出炉,Oracle 霸主地位受威胁

点击“阅读原文”查看更多精彩内容