( 原文地址  http://37signals.com/svn/posts/3375-the-five-programming-books-that-meant-most-to-me)

现在有许多编程方面的书籍,但是大多数都是关注于某些特有的技术,而且这些技术剩下的时间特别的短,

其它的书籍着重于过程和文化,只有很少的书籍关注那些在一定时期内让你写出好的代码的永恒的原则,

下面这五本书对我的代码风格和开发产生过及其深远的影响。

Smalltalk Best Practice Patterns:

对于如何组成良好的面相对象代码,这本书给出了及其好的建议,虽然书中的代码是用Smalltalk写成的,

但是那些编码原则却是普遍适用的,它可能是我最喜欢的程序设计书籍,讲的非常细

Refactoring

在书的前面和后面,有一些本可以写的更好的代码,这本书就在讲述如何让这些代码更优秀。

阅读这本书的诀窍就是仔细阅读每一个 重构的模式,然后去试着把它用在你的项目中(当代码

不太符合时你不必保证非要用这个模式),你不能只是大概的浏览一遍或者你不是真的来学习它,

你不能这样说“oh,我可以当我需要时在书里找那些重构模式”------因为你压根就不知道要找什么

Patterns of Enterprise Application Architecture:

这本书有一系列非常好的模式,巩固了Rails

Are Your Lights On?:

从技术上讲这不是一本程序设计书籍,但是它或多或少

地解决了开发者要面临的大量问题:我们需要尽力去解决

的问题是什么,这是正确的问题么,我们可以替换成解决另一

个问题么,那样真的好么?除了能够把大问题转变成小问题,没有

什么能够提高我的编码效率

如果你认为编码是写作的一个子集(我确定我也是这么想的),那么你也

最好读一下Elements of Style 和 On Writing Well. 我发现读他们同让可以让我

成为一个更好的程序员。

阅读这5本到7本书将会给你的programming chops

注入更多的维他命和营养 ,而不是一大堆一年的博客文章列表

和教程。

DHH推荐的五本书(未完待续)相关推荐

  1. Windows x64内核学习笔记(五)—— KPTI(未完待续)

    Windows x64内核学习笔记(五)-- KPTI(未完待续) KPTI 实验一:构造IDT后门并读取Cr3 参考资料 KPTI 描述:KPTI(Kernel page-table isolati ...

  2. pythonb超分辨成像_Papers | 超分辨 + 深度学习(未完待续)

    1. SRCNN 1.1. Contribution end-to-end深度学习应用在超分辨领域的开山之作(非 end-to-end 见 Story.3 ). 指出了超分辨方向上传统方法( spar ...

  3. 2018.10.1(这不仅是一篇日记,也是mac使用心得整理,未完待续……)

    今天是国庆节,祝祖国母亲生日快乐. 今天在ucl正式上课了,还去蹭了一节非监督学习的课.挺好. 9月20+号买的mac,通过船运,终于到手了.非常高兴. 晚上回家去中国城买了一些食材自己做.一半的花生 ...

  4. 《今日简史》读书笔记(未完待续)

    <今日简史>读书笔记(未完待续) 这本书是尤瓦尔·赫拉利的简史三部曲的最后一本,前2本书是<未来简史>和<人类简史>.根据豆瓣上网友的评价,这本书是尤瓦尔·赫拉利写 ...

  5. 《图解 HTTP》读书笔记(未完待续)

    ARP 协议(Address Resolution Protocol)一种以解析地址的协议,根据通信双方的 IP 地址就可以查出对应的 MAC 地址. MAC( Media Access Contro ...

  6. WindowsMobile应该如何发展?(未完待续)

    MEDC2007已经过去两周了,作为WindowsMobile软件应用及开发界的一次盛会,本次大会后留给我的不仅仅是绚丽的UI,强大的功能.新的开发工具.而是更多的关于WindowsMobile在中国 ...

  7. 学完oracle 再学mysql_一篇文章让Oracle程序猿学会MySql【未完待续】

    一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...

  8. 省钱版----查找 IoT 设备TTL线序__未完待续

    作者:仙果 原文来自:省钱版--查找 IoT 设备TTL线序 省钱版----查找 IoT 设备TTL线序__未完待续 缘由 在IoT固件调试分析的过程中,建议首先在IoT设备的板子上焊接调试线,这是能 ...

  9. APP被苹果App Store拒绝的79个原因(未完待续)

    作为iOS开发者,估计有很多都遇到过APP提交到App Store被拒,然后这些被拒的原因多种多样,今天dApps收集了常见的被拒的原因,以便更多开发者了解. APP被苹果APPStore拒绝的各种原 ...

最新文章

  1. 用Python分析你是否已经实现荔枝自由了?
  2. php post数据丢失
  3. 用Socket 打造跨语言跨操作系统的网络MORPG游戏(一)
  4. 计算方位角_全站仪各方面应用的原理、操作及计算,看这篇就对了!
  5. 设计和实时视图不一样_三室两厅家装设计,如何打造出不一样的感觉?
  6. android size_t在哪个头文件,size_t
  7. IDEA本地运行Spark项目[演示自定义分区器]并查看HDFS结果文件
  8. [Flink] Flink运行报错The number of requested virtual cores for application master
  9. ecshop 模板标签
  10. tomcat的acceptCount、maxThreads、connectionTimeout参数调整
  11. python入门之函数调用第三关-Python 基础3 函数function
  12. Remap 后的 USART1 不能发送数据
  13. Unity 使用Shader实现序列帧动画
  14. abb的knx的数据库下载方法_ABB i-bus KNX系统节能方案
  15. 【Python项目】Python利用神经网络自动生成的“藏头诗”生成器 | 附带源码
  16. 微信公众帐号迁移流程指引
  17. PS如何快速简单的给人像美白
  18. Win11无法识别以太网怎么办?Win11以太网未识别网络的解决方法
  19. 计算机存储1pb等于多少kb,存储容量:1TB等于多少GB?1PB等于多少TB?1EB等于多少PB?
  20. 散列——再散列与双散列(C++)

热门文章

  1. 详解TableStore模糊查询——以订单场景为例
  2. cv-2.opencv示例stitching——图像拼接
  3. java ecdsa_Java实现ECDSA签名算法
  4. 排水管不能穿越计算机房,【华信案例】某省电信BBU机房给排水管道穿越解决方案...
  5. 台式计算机管理,拴住宝宝的胃从焖饭开始
  6. 人行,中行,工行,人行,中行,工行,建行,农行,交行笔试资料合集(坚决保留)建行,农行,交行笔试资料合集(坚决保留)
  7. js中传参的实例 多组图片的指定切换与商品价格的计算
  8. ubuntu没有inittab
  9. python数据清洗小案例giao
  10. 关于中国移动手机支付商业模式的思考