代码整洁之道札记:代码为什么要整洁

简介: 代码整洁之道札记:代码为什么要整洁

前言:一直以来,我都非常喜欢整洁规则的代码,我痛恶那些杂乱不堪的代码,然而《代码整洁之道》将要告诉我的远不止这些,那么,我希望将自己欣赏的、能够给我帮助的、指引我前进的方案记录下来,以用来我日后翻看。

要有代码


将需求明确到机器可以执行的细节程度,是编程要做的事。一个好的产品,显然其最精髓的不应该是外观,而是诸如Java编译后的class文件。

糟糕的代码


看到“糟糕”这个词就觉得可怕,我之前接手的一个web项目,最初打包完成后,足足有48M,里面充斥着大量的垃圾代码,糟糕的一塌糊涂,然而没有一个人去管理他,我实在是难以忍受,经过不厌其烦的修改,最终打成的war包能够缩小到28M左右,可想而知如果一堆代码没有人愿意整洁的话,那真是要了人的命。糟糕的代码真的能毁了一个公司。

当你决定清理糟糕的代码时,请立即行动,因为later equals never。

混乱的代码


书中提到的生产力和时间的关系,也完全符合人月神话一书提出的观点,代码混乱导致人员的增加,而人员的增加意味着生产力下降,最终带来的后果就是生产力随着时间而消亡殆尽。

项目经理痴于进度,然而程序员依然要花费时间保持代码的整洁。

我喜欢优雅和高效的代码,代码逻辑直截了当,使缺陷难以隐藏,减少依赖关系,便于维护,性能调整至最优,不给别人优化的机会。-----Bjarne Stroustrup

代码应通过字面表达含义。-------Dave Thomas

整洁的代码总是看起来像某位特别在意他的人写的,会让人赞美你留下的代码。-------Michael Feathers

消除重复和提高表达力,在改进脏代码时会大有不同。-------Ron Jeffries

读写代码花费的时间比例大概是10:1,所以保持代码的可读性very important。

童子军军规


让营地比你来的时候更干净。我觉得这个太好了,因为我在这上面深得体会。优化这些糟糕的代码,虽然让我费尽心思,并且为之焦头烂额,但是我依然孜孜不倦,终因我深深爱着我的代码。


相关文章
|
机器学习/深度学习 存储 人工智能
【中国大学生计算机大赛二等奖】智能中医-中e诊简介(一)
【中国大学生计算机大赛二等奖】智能中医-中e诊简介(一)
558 0
|
7月前
|
存储 前端开发 调度
|
网络协议 安全 Linux
网络工具ping的使用方式
【10月更文挑战第19天】网络工具ping的使用方式
1184 6
|
JSON 缓存 JavaScript
使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源(二)
使用 jsDelivr 加速 GitHub Pages 的图片资源和动态编译的 JSON 资源。
240 2
|
机器学习/深度学习 编解码 算法
ICCV 2023 | 当尺度感知调制遇上Transformer,会碰撞出怎样的火花?
近年来,基于Transformer和CNN的视觉基础模型取得巨大成功。有许多研究进一步地将Transformer结构与CNN架构结合,设计出了更为高效的hybrid CNN-Transformer Network,但它们的精度仍然不尽如意。本文介绍了一种新的基础模型SMT(Scale-Aware Modulation Transformer),它以更低的参数量(params)和计算量(flops)取得了大幅性能的提升。
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
前端开发 JavaScript
前端 CSS 经典:文字描边
前端 CSS 经典:文字描边
570 0
|
芯片
AW2013芯片讲解
AW2013芯片讲解
462 0
|
JSON JavaScript 数据格式
jwt-auth插件实现了基于JWT(JSON Web Tokens)进行认证鉴权的功能
jwt-auth插件实现了基于JWT(JSON Web Tokens)进行认证鉴权的功能
386 1
|
API C++ Windows
Windows API Hooking 学习
Windows API Hooking 学习