2014,成为更好程序员的7个方法
英文原文:7 Ways to be a Better Programmer in 2014
// 译注:英文原文发布今年年初,所以开头提到了”新年“,请不要惊讶~
程序员总是有很多的决定,不是吗?如果你的新年待办事项还是空白的话,那么可以考虑使用下面这些程序员的想法。即使是最聪明的人,也还有成长空间。以下内容摘录自 Kevlin Henney 的《程序员应该知道的 97 件事》。
1. 在怪罪其他东西之前先检查自己的代码
质疑一下你自己和他人的预设情况。来自不同供应商的工具,可能内置有不同的预设,也有可能相同的供应商提供不同的工具。
当有人想你报告一个你无法重复的问题之时,去看看他们做了些什么。他们可能会做一些你没有想到的事情,或者是按照不同的顺序来做那件事。
我的原则是,如果我遇到一个我无法避免的 bug 时,我会首先考虑是编译器的错误,然后我就会去检查堆栈是否被破坏了。这可以通过跟踪代码来实现,可以有效地移除问题。多线程问题是另一个绞尽脑汁也不容易找到的错误来源,通常还伴随着机器的错误。当一个系统使用多线程的时候,所有的简单的代码的错误都会成倍地增长。不能依靠调试和单元测试去发现这样的兼容性问题,所以简单的设计是最重要的。
总之,在你怪罪你的编译器之前,请记住福尔摩斯的忠告:“当你把所有的不可能都排除了,那么剩下的东西,无论他有多么的不可能,都必定是真相。”Dirk Gently 也说了类似的话。
——Allan Kelly
2. 持续学习
我们生活在一个有趣的时代。随着全球化的发展,你要知道有大量的人都能胜任你的工作。你需要不断地学习,以维持竞争力。否则,你会成为一个落伍的人,永远做着相同的工作,直到你不再被需要,或者这个工作被廉价外包给其他人的那一天。
因此,你打算做些什么呢?有些大方的老板会提供训练来拓宽你的技能。而其他的公司并不会给你空闲的时间和金钱去做任何的训练。所以为了工作的稳定,你需要为自己的教育负责。
这里是一些让你持续学习的方法清单。其中许多都能够随便在网上找到:
- 阅读书籍、杂志、博客、Twitter 和其他网站。如果你想对一个目标进行更深入的研究,考虑添加一个邮件列表或新闻组
- 如果你真想专注于某一种技术,那就动起手来——写一些代码
- 成为行业的顶尖人物可能会妨碍你的学习,你得尽量与导师合作。虽然你可以从任何人那里学到东西,但是从那些比你更聪明或更有经验的人那里你能够学得更多。如果你不能找到一个导师,那就继续去找
- 使用虚拟的导师。在网上找一些作者或者开发人员,他们写的东西你都会喜欢并且都会看的。订阅他们的博客
- 了解你所使用的框架和库。知道了他们是如何工作的,你使用起来就更得心应手。如果他们是开源的,你就很幸运了。使用调试器来单步执行,去观察他们内部是如何运作的。你将会看到那些真正聪明的人所编写和审阅的代码
- 当你做错了或者是在修复 bug,或者是碰到一个问题的时候,尝试去深入了解到底发生了什么。有可能其他人也遇到了同样的问题,并且把 2 他发布在了网上。Google 这时候就非常有用了
- 学习一样东西的一个好方法就是去传授和谈论它。当人们想要听你讲解并且想问你问题的时候,你就会更加积极地去学习。在工作中使用 lunch-’ n’-learn 方法,可以是一个用户组或者是一个本地的协会
- 加入或者创办一个研究小组(社区的模式)或本地用户组,可以研究你们感兴趣的语言,技术或者是法律
- 多去参加会议。如果你不能去,很多的会议都会把内容免费发布到网上的
- 想要长期通勤?听一下博客吧
- 你是否曾经在一个代码库上运行一个静态分析工具或者在你的 IDE 里看到一些警告?弄明白他们报告的是什么,为什么要报告
- 遵循高效程序员的建议,每年学习一门新的语言。至少学习一门新的技术或者是一个新的工具。弄一个分支出来添加上你的想法,以便你能够在你目前的知识库里使用
- 并不是你应该学的每一样东西都必须跟技术有关。学习你工作领域的一些东西,能够让你更加了解需求,并且能够给帮助你解决一些商业问题。学习如何提高工作效率,学习怎样更高效低工作是一个不错的选择
- 返回学校
上一篇: 献给在这个世界上摇摆不定的人
下一篇: 已经是最后一篇了
文章评论
热门评论
暂无评论