第五次读书笔记—— Robrt C. Martin的《代码整洁之道》

本周我读的书是美国作者Robrt C. Martin的《代码整洁之道》。一周的时间,我主要阅读了本书的前五章,关于整洁代码、有意义的命名、函数、注释以及格式等内容。

书中作者有个观点:优雅和高效。作者说:代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。高效的代码是我们都在追求的,而优雅却往往被我们忽视。当我看到作者对糟糕的代码形容成代码“沼泽”,我不禁想起了在参加robgame比赛和大学生数学建模大赛时,我们组所写的代码——不仅包含了混乱的变量名、各种各样千奇百怪的函数、以及接近100:1的代码/注释比。这些在coding时随意的“天马行空”,让我们在调试时吃了大苦头。到了后来,我们痛定思痛,特意花了整整两天,对我们的算法重新进行了分层和优化,把结构好歹变得清楚了一些,但是在改的过程中,我们不止一次地咒骂编代码时的自己:这写的什么玩意。。。。因此。当我读到书中的糟糕代码的描述,我不仅感到羞愧,同时也越发对这本书感兴趣了。

另外一个很有意思的地方是,这本书的作者在每一章的前面都放了一幅漫画来简要的概述本章的内容。比如第二章—有意义的命名—前,作者放了一幅父母亲费力地思索给孩子起名字的画。看到这,我在付之一笑的同时也体会到了作者的良苦用心。的确,就像在生活中家长给孩子取名字哪个不是要经过细细斟酌的?既要蕴含家长的期望与祝福,又希望叫起来朗朗上口,还要注意将来不能成为别人的笑柄。那么,类比之下,我们在给程序中的变量、函数取名字的时候不也应该考虑清楚吗?事实上,好的变量名,既能给编程者自己带来方便,帮助他们看到变量名就能想起其作用,又会帮助后来的维护者或是其他读者更好的理解代码。对于取名字,作者给出了18点我们需要注意之处,尤其是前面几条如名副其实、避免误导等,对我的日常编程实在是有很大的指导意义,令人颇有醍醐灌顶之感。

同时,值得一提的是关于注释的这一章。我本以为作者会直接讲怎样写注释是好的注释,然而作者却直接当头棒喝:注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败。他强调是一种失败,他的观点是唯一真正好的注释是想办法不去写的注释。诚然,他在后面还是讲了关于写好的注释的要点,前面的话给了我很大的启发,的确,随着代码的修改与优化,我们往往不会立即去更正注释,因为我们一直关注的还是代码本身,而注释上的不准确编译器也不会帮我们指出来,注释往往会失去其作用,我们真正应该花心思在增强代码的表现力上。

原文地址:https://www.cnblogs.com/ZucksLiu/p/8724600.html

时间: 2024-10-05 23:32:59

第五次读书笔记—— Robrt C. Martin的《代码整洁之道》的相关文章

Android深度探索——第五章读书笔记及心得

搭建S3C6410开发板的测试环境 ——第五章读书笔记及心得 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要在卡发板上进行调试和测试.其相对于手机更适合与对程序进行测试,尤其是对底层linux程序进行测试.还了解了S3C6410开发板的基本信息.知道了如何安装串口调试工具以及烧写Android系统.知道了如何配置有线网络. S3C6410是一款低功耗.高性价比的精简指令集计算机处

<读书笔记> 代码整洁之道

概述 1.本文档的内容主要来源于书籍<代码整洁之道>作者Robert C.Martin,属于读书笔记. 2.软件质量,不仅依赖于架构和项目管理,而且与代码质量紧密相关,本书提出一种,代码质量与整洁成正比的观点,并给出了一系列行之有效的整洁代码操作实践,只要遵循这些规则,就可以编写出整洁的代码,从而提升代码质量. 3.该书介绍的规则均来自于作者多年的实践经验,涵盖从命名到重构的多个编程方面,具有很好的学习和借鉴价值. 4.习艺要有二:知和行.你应当学习有关规则.模式和实践的知识,穷尽应知之事,并

读书笔记:《梦断代码Dreaming in Code》

读书笔记:<梦断代码Dreaming in Code> 拿到<梦断代码>书后,一口气翻了一遍,然后又用了3天时间仔细读了一遍,也不禁掩卷长叹一声,做软件难.虽难,仍要继续走下去,可以把软件的范围限制得小一些,用敏捷方法等过程会使软件失败的风险小一些,毕竟我们还没有写书上所说的那样的大型软件. 第0章 软件时间 一开始看到第0章并没有感觉多么奇怪,可能程序员的思维方式已经固化在大脑中了,但读到作者关于第0章无意搞笑时,也不禁哑然失笑,为什么程序员要 从0开始计数?因为计算机从0开始计

【读书笔记】--代码整洁之道

“相对于任何宏伟景愿,对细节的关注甚至是更为关键的专业性基础.首先,开发者通过小型实践获得可用于大型实践的技能和信用度.其次,宏伟建筑中最细小的部分,比如关不紧的门,有点儿没有铺平的地板,甚至是凌乱的桌面,都会将整个大局的魅力毁灭殆尽.这就是整洁代码之所系”----没有比书中的这段话更能说明这本书的意义了. <代码整洁之道>是第1期书山有路活动选出的读本.相对于记住那些如何写出整洁代码的那些法则,养成保持代码整洁.提高代码质量的习惯和思维更为重要.全书大致分为三个部分,第一部分1-10章都是介

第九次读书笔记——读《代码整洁之道》有感

第九次读书笔记--读<代码整洁之道>有感 "相对于任何宏伟景愿,对细节的关注甚至是更为关键的专业的基础.首先,开发者通过小型实践获得可用于大型实践的技能和信用度.其次,宏伟建筑中最细小的部分,比如关不紧的门,有点没有铺平的地板,甚至是凌乱的桌面,都会将整个大局的魅力毁灭殆尽."看完了这本书,感觉书中的这句话是整本书的核心.个人感觉这本书给我带来的更多的不是能力上的提升,而是思想上对代码整洁有了整体的把握. 首先,这本书让我们在思想层面上认识到了代码整洁的必要性,只有思想有了

&lt;代码整洁之道&gt;、&lt;java与模式&gt;、&lt;head first设计模式&gt;读书笔记集合

一.前言                                                                                       几个月前的看书笔记,内容全部都是摘自书中比较精辟的句子.笔记都是一段一段的句子,故没有文章的篇幅概念,仅供温习之用,更多详细内容请看原书!!! <代码整洁之道>里面有很多前人编写简洁.漂亮代码的经验.当然书中作者的经验并不100%适合每个人,但大部分都是可借鉴的! <java与模式>这本书内容太多了,我

第五周读书笔记

<c++应用程序性能优化>读书笔记(part3) 应用程序的启动性能是应用程序给最终用户的第一印象,是衡量一个程序易用性的重要指标.书的第三部分介绍了启动性能优化的一些方法,第七章介绍了应用程序的物理布局,第八章介绍了应用程序在windows和linux平台上的编译到启动的过程,第九章介绍了优化启动项的一些方法. 本章从动态链接库开始讲起,简单的介绍了一下DLL.这里其实我看的有点晕的,大概就是说DLL可以看成一个一个函数的集合,我们可以编写代码来调用.然后讲了一些类似微机原理课本上的知识,我

JavaScript高级程序设计(第3版)第五章读书笔记

第五章 引用类型 创建Object实例的方式有两种,第一种是使用new操作符后跟Object构造函数,例如: var person = new Object( ); person.name = “Nicholas”; person.age=29; 第二种是使用对象字面量表示法.如: var person = { name : “Nicholas”, age : 29 }; 在最后一个属性后面添加逗号,会在IE7及更早版本和Opera中导致错误. 两种访问对象属性的方法,一是方括号语法,例如per

万历十五年 . 读书笔记

历史是什么:是过去传到将来的回声,是将来对过去的反映. ——雨果(法)<笑面人> 只要精致的观察, 细心的思考, 在看似乱如飞花的历史烟尘里, 我们总是可以发现些渐隐渐现的轮廓. 这些轮廓, 诠释着一种叫人性的东西. 我们总是能在历史中发现一些轮廓, 好像与如今的世界无比的契合. ------ 我总是感觉这是人类最大的幸运, 也是人类最大的悲哀. <万历十五年>讲述一段万历年间的往事, 一段关于一个王朝, 几个人物, 一种体制, 几种哲学的故事. 敬佩作者(黄仁宇)的认真, 渊博,