Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonim authored Jun 23, 2018
1 parent fe84fb6 commit d7e89f3
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion coding/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,29 @@
+ 《Wireshark 数据包分析实战》,学习网络,最好的方式就是抓包分析,这本书能帮到你,作者结合一些简单易懂的实际网络案例,图文并茂地演示使用 Wireshark 进行数据包分析的技术方法,可以让我们更好地了解和学习网络协议。
+ C10K 问题, 当你读完《Unix 网络编程》后,千万要去读一下 "[C10K Problem](http://www.kegel.com/c10k.html)[中文翻译版](https://www.oschina.net/translate/c10k))"。提出这个问题的人叫丹·凯格尔(Dan Kegel),目前工作在美国 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](http://www.catb.org/~esr/faqs/smart-questions.html), 最早是由 Eric Steven Raymond 所撰写的,详细描述了发问者事前应该做好什么,而什么又是不该做的。作者认为这样能让问题容易令人理解,而且发问者自己也能学到较多东西。
此文一经发出,就广受好评,被广泛转载并奉为经典。该文也有 [简体中文翻译版](http://doc.zengrong.net/smart-questions/cn.html) 被流传着,所以在华人界也是篇很有名的文章。有两个著名的缩写 STFW(Search the fxxking web)以及 RTFM(Read the fxxking manual)就是出自本文。

### 写代码的修养
+ 《代码大全》,
+ 《重构:改善既有代码的设计》, 这本书是 Martin Fowler 的经典之作。这本书的意义不仅仅在于 " 改善既有代码的设计 ",也指导了我们如何从零开始构建代码的时候避免不良的代码风格。这是一本程序员必读的书。
+ 修改代码的艺术》,这本书是继《重构》之后探讨修改代码技术的又一里程碑式的著作,而且从涵盖面和深度上都超过了前两部经典(《代码大全》和《重构》)。作者将理解、测试和修改代码的原理、技术和最新工具(自动化重构工具、单元测试框架、仿对象、集成测试框架等),与解依赖技术和大量开发和设计优秀代码的原则、最佳实践相结合,许多内容非常深入。这本书可以让你不仅能掌握最顶尖的修改代码技术,还可以大大提高对代码和软件开发的领悟力。
+ 《代码整洁之道》,这本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护和升级奠定了良好基础。本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称 " 启示 "),并辅以来自现实项目正反两面的范例。
+ 《程序员的职业素养》,这本书是编程大师 Bob 大叔 40 余年编程生涯的心得体会,讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。

### 软件工程和上线
+ 《完美软件:对软件测试的各种幻想》,这本书重点讨论了与软件测试有关的各种心理问题及其表现与应对方法。作者首先阐述软件测试之所以如此困难的原因 -- 人的思维不是完美的,而软件测试的最终目的就是发现对改善软件产品和软件开发过程有益的信息,故软件测试是一个信息获取的过程。
+ 《Google 软件测试之道》,描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理,并对在 Google 的测试历史上或者主要产品上发挥了重要作用的工程师的访谈,这令那些试图建立类似 Google 的测试流程或团队的人受益很大。


0 comments on commit d7e89f3

Please sign in to comment.