赋予代码生命力--读代码整洁之道

目录

1 What

2 Why

3 When

4 Where

5 How

6 History

7 Practice


这两天正好高考。相信,每一位经历过高考的同学,都会被老师告知,要保持卷面整洁。这虽然不一定加分,但是绝对能够避免不必要的扣分。

写代码跟此有相似之处。对于这件事,我们可以从4W+H角度来总体提炼:

1 What

代码整洁之道这本书告诉你什么是整洁的代码,什么是凌乱糟糕的代码。书中列举了许多短小的例子,非常方便理解。

虽然看完第一天我就忘了书中几位大牛是如何定义整洁代码的了,但是那些例子让我记忆犹新。感觉那么亲切,似乎说的就是我自己。

2 Why

代码整洁之道这本书告诉你为什么需要整洁的代码。几乎通篇都在告诉你整洁代码的好处。同时让你看到,糟糕的代码,形成对比视差,更能让你体会到整洁的美。

3 When

代码整洁之道这本书告诉你什么时候需要整洁的代码。不仅仅是开始写的时候,也不仅仅是写的过程,更不是写完的时候,而是开始之前就要进入视野,且全过程覆盖。

想清楚了再敲键盘。发觉坏味道了,立即更正。今日事今日毕。只有这样,才能保持整洁。如果想着先这样凑合,后面再重构,往往就会越拖越久,最终成为技术债务。

不要让救命稻草变成压垮稻草。

另外。这一点也让我想到了中国名医扁鹊。要做扁鹊大哥式的coder,这才应该是我们每个人的追求。

4 Where

代码整洁之道这本书告诉你在哪里整洁代码。变量中,函数中,注释中,类中,测试中,系统工程中......大量干货分享,让你忍不住要实践一下的冲动。

这一点让我想到了,虽然有很多代码扫描和格式化工具,但是人自身永远是最重要的。即使在工业高度发达的今天,最先进的模具还是靠人手工打造。

这一点就很能说明问题。书中作者也表达了自己的观点,有创造性的编码活动,不用担心被机器替代。

5 How

代码整洁之道这本书告诉你如何整洁代码。从起名开始。想想,你给孩子起名时,会随随便便吗?为什么对待自己的代码,就放松要求了呢?

起名是第一步,它看似简单,实则包含着大智慧。抽象程度、意图、表达力等等,都通过命名传达出来(看来,英语要学好)。如果每个人都能够像起名那样琢磨命名,我相信代码的质量一定能够得到很大的提升。

当然,前面已有所述,书中并非简单的说教,而是提供了大量的实例,实实在在的做给你看。我特别喜欢看这些例子,很多例子扫一眼就能感受到作者的“心思”,有时甚至超过了说明文字。

当我的理解和作者的说明接近时,也是蛮有成就感的事。当然,很多例子命中了我自己。

我们要有进无止境的意识,追求完美的精神,锲而不舍的毅力,让我们的代码变成一件艺术品。如果抱着这样的态度,我相信代码质量会更上两层楼。

6 History

除了这些理论的内容外,还有很多历史,会让你有新的收获。

人类简史中说,人类之所以为人类,有一点就是只有人类意识到存在自己不知道自己不知道的事。有些事你不知道,但是你还不知道你不知道。不过你能意识到这一点。

有点绕。慢慢体会。

书中就有一些这样的历史角落。当然可能没有那么严重。

比如,你可能没想过每行代码不超过80个字符最初跟计算机上古时代的屏幕显示有关。你也可能没有想到goto语句与那时候的结构化编程有关。

比如,我对大写字母I和O做变量名跟作者有同感,吃过数字1和大写字母I混希的亏,还有零和大写的字母O。

7 Practice

以上,提供理论。理论最终的目的还是指导实践。

要想写出整洁的代码,我个人认为有三点:

1 是了解整洁代码的知识,就是前面所述的理论。而且,读书的过程,你会发现整洁代码跟设计模式及重构是相通的,这就进一步说明简洁带来美。

2 是不管各种规则要求,最重要的一点是,重视它,再重视它,再再重视它。我相信许多走出高考考场的人会说,这是我这辈子写的最认真的一次。

3 是实践。这是最有用的。一个只看别人如何滑冰的人是永远不会真正滑冰的。

这本书本身用自身语言和翻译的整洁,告诉了你前两点。

关于最后一点,把写代码看成艺术创作,不论你是为了六便士还是为了天上明月,整洁都是你的第一步,关键一步。别让这一步的错失产生破窗效应。

以书中第一章中的笑话来给实践结尾,......孩子,你还得练,还得练。----送给每一个追求整洁代码的coder。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙赤子

你的小小鼓励助我翻山越岭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值