转载于 极客时间专栏“左耳听风”《程序员练级攻略:程序员修养》
要了解程序员的修养,你可以先从 Quora 上的这个贴子开始 “What are some of the most basic things every programmer should know?”,我摘录一些在这里供你参考。
Bad architecture causes more problems than bad code.
You will spend more time thinking than coding.
The best programmers are always building things.
There’s always a better way.
Code reviews by your peers will make all of you better.
Fewer features for better code is always the right answer in the end.
If it’s not tested, it doesn’t work.
Don’t reinvent the wheel, library code is there to help.
Code that’s hard to understand is hard to maintain.
Code that’s hard to maintain is next to useless.
Always know how your business makes money, that determines who gets paid what.
If you want to feel important as a software developer, work at a tech company.
然后是 《97 Things Every Programmer Should Know》,其中有 97 个非常不错的编程方面的建议。这篇文章是比较经典的,别被“97”这个数字吓住,你可以快速浏览一下,会让你有不同的感觉的。另外,在工作一段时间后再来读,你会更有感觉。
英文能力
必须指出,再往下走,有一个技能非常重要,那就是英文。如果对这个技能发怵的话,那么你可能无缘成为一个程序员高手了。因为我们所有的计算机技术全部来自于西方国家,所以如果你要想成为一个高手的话,那么必须到信息的源头去。英文的世界真是有价值的信息的集散地。你可以在那里,到官网上直接阅读手册,到 StackOverflow 上问问题,到 YouTube 上看很多演讲和教学,到 GitHub 上参与社区,用 Google 查询相关的知识,到国际名校上参加公开课……
如果你的英文能力有问题的话,那么基本上来说,你无法成为一个高手。因此,学好英文是非常有必要的,我说的不只是读写,还有听和说。相信你在学校里学过英文,有一定的基础。所以,我给你下面的这些建议。
坚持 Google 英文关键词,而不是在 Google 里搜中文。
在 GitHub 上只用英文。用英文写代码注释,写 Code Commit 信息,用英文写 Issue 和 Pull Request,以及用英文写 Wiki。
坚持到 YouTube 上每天看 5 分钟的视频。YouTube 上有相关的机器字幕,实在不行就打开字幕。
坚持用英文词典而不是中文的。比如:剑桥英语词典 或是 Dictionary.com 。你可以安装一个 Chrome 插件 Google Dictionary。
坚持用英文的教材而不是中文的。比如:BBC 的 Learning English ,或是到一些 ESL 网站上看看,如 ESL: English as a Second Language 上有一些课程。
花钱参加一些线上的英文课程,用视频和老外练习。
问问题的能力
提问的智慧(How To Ask Questions The Smart Wayÿ