您的位置:首页 > 编程语言

《代码简洁之道》读后感

2015-09-01 21:57 197 查看
最近读了韩磊翻译的《代码简洁之道》,读完之后总想写下点什么来记录读此书过程中的点点滴滴遐想,所以抽空写了该篇,聊以自慰~





为什么会去读这本书?

最近一段时间,“要写好的代码”的声音一直在耳边缭绕。但是好的代码是怎么样的那?导师常常要求我们写出“可复用,易扩展的软的软件”,但由于之前一直只以实现程序功能为目的,写的程序也属于“一次性程序”,所以对于“好的代码”缺少感觉,更不知道“好的代码”有什么标准。但是鄙人一直崇尚“大道至简”、“简单为美”,所以当我看到“简洁之道”这几个字时,不禁有一种“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”的感觉。

怎么读完的?

鄙人读书追求感觉(主要是懒得做笔记~),但是当我遇到一些金玉良言的时候,就记情不自禁地录了下来,企图记录读到这些良言时难以抑制的激动心情。也正是这些金玉良言,构成了我对真本书点点滴滴的印象。此外,我也很遗憾没有仔细阅读作者书中的改善案例,这些都是极好的例子。

金玉良言!

接下来我将介绍那几句令我触动的金玉良言。

1. 整洁的代码总是看起来像是某位特别在意它的人写的。几乎没有改进的余地。代码作者什么都想到了,如果你企图改进它,总会回到原点,赞叹某人留给你的代码——全心投入的某人留下的代码。

感言:最后一句真的很让我触动,鄙人一直觉得只有对写代码充满热爱,才能做到全心投入,才能写出适合己意的代码。这句话也点到全心全意的好处:写出的代码让人没有改进的余地。这就是艺术。

2 习艺之要有二:知和行。你应当习得有关原则、模式和实践的知识,穷尽应知之事,并且要对其了如指掌,通过刻苦实践掌握它。

感言:熟话说“知易行难”,但是知也不是那么容易的。但从“我们要穷尽应知之事”这句来说,我们必须要有足够的好奇心和接触新事物的勇气,这样才能主动得去追求学无止境。“知”多后,很多“行”也会变得容易。比如编程时,如果我们对一些已有的类库或工具有所了解的话,这会大大提高我们开发的效率,“行”就是水到渠成的感觉。当然,那些真正有含金量的“行”,是必须要试错的,犯错能加深你的理解,发现你的不足。熟话说得好嘛,“吃一堑长一智”。

3 稍后等于永不 (Later equals never)

感言:这句话让我不禁拍手叫好:这简直就是本分析人性的书!的确,大多数的人都是有惰性的,”稍后“往往是一个自我安慰的借口。所以我强烈建议当前能做掉的事当前做掉!因为即使你之后会做,你还得进入解决问题的上下文,熟悉环境也需要成本。所以“一鼓作气”、“趁热打铁”真是明智的做法。

4 把系统当做故事来讲,而不是当做程序来写。

感言:如果你的眼里看到的只是程序的话,你可能就会感觉自己只是重复地写一些字符,或许你就体会不到编程的快乐了。相反,你把系统当讲故事来讲的话,至少要讲故事发生的原因、经过、结果吧,由此你可以体会到“为什么要做这个系统”,“是怎么把这个系统做出来的”,“这个系统做得怎么样”。当你知道你为什么做一件事时你就有了动力;当你知道你是怎么做出来时,你就会一种踏实或者说充实的感觉;当你知道你做得怎么样时,你会有成就感,或大或小。

5 别给糟糕的代码加注释——重新写吧。

感言:如果房子质量有问题,必须推到重来!的确,我们不应给该那些有本质缺陷的代码存在的理由。加注释,让我想到一句“解释就是掩饰”,如果代码本身能说明问题,又怎么需要掩饰那!

6 无论是设计系统或单独的模块,别忘了使用大概可工作的最简单方案。

感言:如果你有简单方案,你不应该被一些教条主义束缚,把简单问题复杂化。很多人会考虑之后的场景,把当前问题复杂化了。我建议把一些还未出现的问题放到明天,毕竟明天的你会更有经验,明天的技术会更好,明天问题会被更好的解决!

简洁代码准侧若干!

毕竟是简洁代码,我还是列出一些摘录的准则吧:

1 有意义的命名

2 函数的第一规则是要短小。第二条规则是还要更短小

3 别重复自己

4 用代码本身来阐述

5 团队要统一编程风格

6 隐藏实现关乎抽象

7 使用异常而非错误返回码

8 测试代码和生产代码一样重要

9 单一权责原则:类或模块应该有且只有一条加以修改的理由

10 保持内聚性就会得到许多短小的类

11 将系统的构造与使用分开(构造指类的初始化之类)

12 尽管使类和函数的数量尽量少是很重要的,但更重要的却是测试、消除重复和表达力

13 建议分离并发相关代码与其他代码

《代码整洁之道》PDF下载链接:http://download.csdn.net/detail/u010738033/9063153
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: