代码整洁之道读书笔记——第一章:整洁代码

软件质量,不仅仅依赖于项目架构项目管理,同样重要的是代码质量!!!

神在细节之中,其实干什么事都一样,从小到大,一直明白一个道理:细节决定成败!

软件架构在开发中占据重要地位。其次,宏达建筑的最细小的部分,比如关不紧的门、有点没铺平的地板,甚至是凌乱的桌面,都会将整个大局毁灭殆尽。这就是代码整洁之所道。

全员生产维护(TMP),TMP的主要支柱之一就是5S原则体系,5S哲学包括以下概念:

  • 整理:搞清楚事物之所在——通过恰当的命名——至关重要
  • 整顿:每段代码都该在你希望它所在的地方
  • 清楚:对于那种四处遗弃的带注释的代码,反映过往或期望的无注释的代码,除之而后快
  • 清洁:标准化,组内共识,使用一贯的代码风格
  • 身美:自律,贯彻规程,乐于改进

我喜欢此书中的这句话:对于代码应无情的重构,写出可读的代码,重要程度不亚于写出可执行的代码。我特喜欢无情两个字,因为我总看不惯之前他人写的乱七八糟的代码,想把事情做的尽善尽美。但其实实际情况是很糟糕的,在大部分并不懂技术的老板眼里,你能力的高低,就是看你是否能写出可执行的代码,或者更精确的说是看你能否更快的写出可执行的代码,老板只注重结果,要能看到实实在在的东西,他并不会关心你是怎么实现的,也不关心这些代码是否好维护。直到某天,代码乱成一锅粥,想要改个东西,加个需求,已经举步维艰的时候,我想已经晚了吧。哈哈哈。。。我认为真正牛逼的人,是以最快的速度写出最高质量的可执行的代码!!!

在我眼里,架构就好比建一个小区,架构师就是开发商,架构决定此小区是什么档次的小区,整个小区是什么样的格局,多大的楼距,绿化是否不错,停车场是否够大,大楼是否坚固,是否抗震,供暖,水电是否很好的接通。架构从根本上决定了整个项目。那么项目管理呢,就好比是物业,管理的好,整个小区井井有序,那么真正的程序开发人员,就是去每家每户装修设计的设计师,刷墙,装玻璃,铺地板,设计房间,只有你出手的东西美观,整洁,那么这一户才能做到尽善尽美。所以说,一个项目,软件架构,项目管理,高质量的代码,我们去映射到一个小区,开发商,物业,装潢,我觉得再好不过了。如果这三项都无比优秀,那么何愁这个项目不精致呢?其实无论如何,要记住两个字:“细节”

说来说去,最后谨记一点,无论架构还是代码都不强求完美,只求竭诚尽力而已。

书中的一句话,我们坦诚代码状态,因为它永不完美。我们日渐成为完整的人,配得起神的眷顾,也越来越接近细节中的伟大之处。

前言

前言说的这几段我真的很喜欢,因为无论做什么事都是这样:

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

我可以教你骑自行车的物理学原理。重力,摩擦力,角动量,质心等,用一页写满方程式的纸就能说明白,有了这些方程式,我可以为你证明出骑车完全可行,而且还告诉你骑车所需的全部知识。即便如此,你在初次骑车时还是会跌倒在地。我再说的严重一点,让你研究一年如何骑车,各种理论知识技巧,一年之后你第一次骑车还是会跌倒在地!!!

我们可以写下整洁代码的所有“感觉良好的原则”,放手让你去干。那样的话我们算是哪门子的老师?而你又会成为怎样的学生呢?你必须自行实践,且体验自己的失败。你必须观察他人的实践与失败。你须看看别人是怎样蹒跚学步,再转头研究他们的路数。你须看看别人是如何绞尽脑汁做出决策,又是如何为错误决策付出代价。

一定要认真阅读第2部分!!!

我对此书充满期待,开始阅读的旅程吧!

第一章 整洁代码

1.1 要有代码

有人说代码会自动生产出来,不需要人工编写,程序员没用了,这完全就是扯淡!

代码确然使我们最终用来表达需求的那种语言。我们永远无法抛弃必要的精确性——所以代码永存

1.2 糟糕的代码

其实随着时间的推移,尤其赶着要推出产品,代码写得乱七八糟,最后再也没法管理这些代码了。最终导致的结果就是软件越用越卡,崩溃几率越来越大,再那之后不久,该公司就关门大吉了。

为什么要写糟糕的代码?

就拿我们现实生活来说,大部分时候是为了赶时间,如果你做的慢老板肯定会大发雷霆,或许我们想赶紧弄完手头的事情,好接着做下一件工作。

我们都说过有朝一日再回头清理我们写过的烂代码,但是,再那些日子里,我们没听过勒布朗法则:稍后等于永不。

1.3 混乱的代价

我经常会做重构他人代码的事情,有很多的代码写的简直混乱不堪,甚至匪夷所思,重构完的那一刻感觉是非常爽的,但是那个过程真是非常艰辛的!!!

随着混乱的增加,团队生产力也持续下滑,趋向于零。

1.3.1 华丽新设计

有一天,再也无法在这种令人生厌的代码上进行开发了,无奈组建新军重新开发一套新系统。

很重要的一句话:花时间保持代码整洁不但有关效率,还有关生存。

1.3.2 态度

这种糟糕的情况经常存在:

  • 要花好几个星期来做本来几小时就能完成的事情
  • 只需做一行修改,结果却涉及上百个模块

一句经典话:程序员遵从不了解混乱风险的经历的意愿,是不专业的做法。

1.3.3 谜题

赶上期限的唯一方法——做得快的唯一方法——就是始终尽可能保持代码整洁。

1.3.4 整洁代码的艺术

写整洁代码,需要遵循大量的小技巧,贯彻刻苦习得的“整洁感”。这种代码感就是关键所在。

编写整洁代码的程序员就像是艺术家,他能用一系列变换把一块白板变作优雅代码构成的系统。

1.3.5 什么是整洁代码

  • 优雅,代码逻辑直截了当
  • 从不隐藏设计者的意图
  • 便于他人阅读和加以增补
  • 看起来像是某位特别在意它的人写的,几乎没有改进的余地,代码作者什么都想到了
  • 没有重复代码,包括尽量少的实体,比如类,方法,函数等
  • 让编程语言像是专为解决那个问题而存在

1.4 思想流派

书中很多建议都存在争议,但是都是作者们长久苦思、从数十年的从业经验和无数尝试与错误中得来。好好学吧!

1.5 我们是作者

Javadoc中的@author字段告诉我们自己是什么人。我们是作者。作者都有读者,我们一定要负责任!!!

读与写花费时间的比例为10:1,在写新代码时,我们一直在读旧代码。

所以,努力让代码变的易读吧!

1.6 童子军军规

让营地比你来时更干净

1.7 前传与原则

在本书中,你会发现对不同设计原则的引用

1.8 小结

没啥说得了,迫不及待了,开始旅程

1.9 文献

总结

其实第一章是一个类似讲故事的章节,根本没必要读这么细,还一小节一小节的都做记录,但是我觉得作者的很多话说的很有深意,我喜欢,把他们记录下来。希望日后翻过来看,我会感觉到很有趣!

猜你喜欢

转载自blog.csdn.net/pengbo6665631/article/details/84039077