这几天读了极客时间:左耳听风的文章《程序员修养》,其中给出了不错的书籍和文章。此篇文章对程序员,尤其是新进程序员来说是一个提纲契领的总结,可以快速清楚程序员应该做些什么。文中给出了很多链接, 下面就依着文章原来的结构缩水一下列出来,看起来更加清晰也方便日后查找。想阅读原文,请移步至:极客时间 | 左耳听风
程序员修养
什么是程序员修养
-
了解程序员修养, 从这里起步,就是最基础的东西
Quora:What are some of the most basic things every programmer should know?
-
然后是97个程序员应该知道的建议
97 Things Every Programmer Should Know
其中有97个非常不错的建议, 可以快速浏览一下。
-
英文能力也是很重要的(毕竟计算机技术源自西方世界)
- 坚持用Google英文关键词
- 在GitHub上只用英文写代码注释,issue, pull request等
- 每天看5分钟Youtube视频(实在不行打开字幕)
- 坚持用英文字典(英英释义)
- 剑桥英语词典
- Dictionary.com
- Google Dircionary (chrome插件)
- 坚持用英文教材
- BBC: Learning English
- ESL: English as a Second Language
- 付费参加些线上英文课(视频和老外练习)
-
提问的能力
- Eric Steven - How to Ask Questions The Smart Way
- X-Y Problem
- Coolshell X-Y 问题
-
写代码的修养
-
推荐书籍
- 《代码大全》
- 《重构:改善既有代码的设计》:Martin Fowler
- 《修改代码的艺术》
- 《代码整洁之道》
- 《程序员的职业素养》
-
推荐书籍
-
Code Review
- Code Review是程序员非常重要的素养
- 参考文章
-
Unit Test
- Unit Test是除Code Review之外程序员另一个很重要的素养
- 学习JUnit:JUnit User Guide(中文版)
- 参考文章
-
安全防范
- 代码中是安全漏洞问题,是重要的大事
-
OWASP - Open Web Application Security Project
- OWASP是一个开源,非盈利的全球性安全组织
- 参考资料:
- OWASP Top 10项目
- 《OWASP Top 10 2017 PDF中文版》
-
安全编程方面的一些Guidelines
- 伯克利大学:Secure Coding Practice Guidelines
- 卡内基梅隆大学:SEI CERT Coding Standards
- 和Http相关的文章:Harding Your HTTP Security Headers
-
防御性编程
-
Defensive Programming
- 保证对程序的不可预见的使用
- 参考文章:
-
Defensive Programming
-
软件工程和上线
- 系统上线是一件严肃的事, 需要遵守一些上线规则。
- 关于测试,推荐两本书
- 上线前的Check List
- 《Monitoring 101》:运维方面的入门文章
-
小结
有修养的程序员才可能成长为真正的工程师和架构师, 而没有修养的程序员只能沦为码农。