当前位置:首页 > 每日看点 > 正文内容

RoertC.Martin的《代码整洁之道》这本书怎么样?

卡卷网1年前 (2025-01-05)每日看点219

圈子里普遍都是好话,想听不同声音的,推荐看一看这篇博客:

It'sproalytimetostoprecommendingCleanCode

也许是时候停止推荐《CleanCode》了

原文很长,我做个小节:

<>#1.反对的理由

    示例代码质量差
以书中函数章节代码为例,代码类名糟糕,大量私有方法存在副作用,方法间通过成员变量传递数据,代码可读性和可性差,部分方法名不符合书中自身命名规范;还有如质数生成器等示例代码也存在算法不明、方法名难懂等诸多问题。
    部分建议不合理
部分观点如函数不应包含嵌套控制结构、理想函数2-4行、布尔标志参数是不良实践的理由等缺乏依据;认为代码重复是“万恶之源”的观点过于绝对,适量重复有时更清晰;主张源文件应按特定层次阅读,不符合多数实际情况。
    内容局限性
多章内容实用性低,如大量Ja代码重构示例、JUnit内部剖析等;内容聚焦于面向对象代码,忽视编程范式;以Ja为唯一示例语言且用法陈旧过时。
    理念存在缺陷
书中TDD循环未提及前期任务分解步骤;对“数据结构”的定义与大众认知不符,且缺乏对常见数据结构的相关内容。

<>#2.替代书籍推荐

推荐JohnOusterhout的《APhilosophyofSoftwareDesign》,虽不是《CleanCode》的直接替代品,侧重软件设计高层实践、代码示例少,不太适合编程初学者,但内容更新颖、更有说服力,给出的建议更高级,更经得起时间考验。

<>#3.作者最后吐槽

经验丰富的程序员阅读《代码整洁之道》,几乎不会有任何收获,主要是他们能够根据自己的经验权衡书中给出的建议并做出明智的决定......

而对于缺乏经验的程序员(这种入门级编程教材的主要读者就是他们),他们无法区分好建议和坏建议,也无法看出示例代码很糟糕、不应模仿。

缺乏经验的程序员会轻信这些经验,然后,直到很多年以后,才能明白自己被严重误导了。


见仁见智,但你首先得读一遍,不是吗?

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/6423.html

分享给朋友:

相关文章

下班后可以做点什么副业赚钱呢?

下班后可以做点什么副业赚钱呢?

首先说明一下,我分享的任务不需要交钱,也不需要入群,只需要你去平台学习就可以。如果有任何让你交钱,进群的任务,请警惕被割韭菜。今天给大家分享7大赚钱副业,新手小白0粉丝0门槛0技术都可以去做,不说大富大贵,但是赚个零花钱还是可以。如果你已经...

如何在自己家里建立一套私有云系统?需要哪些设备?

如何在自己家里建立一套私有云系统?需要哪些设备?

我敢保证,这绝对是目前为止最简单的搭建家用私有云的方法:“一台主机+至少一块硬盘”足矣!不需要任何专业知识,也没有复杂繁琐的步骤,十分钟不到就能搭建好,帮你成功打开文件云储存新世界的大门!还在单纯依靠网盘进行文件存储的朋友,不是我吐槽哈,它...

到什么程度才叫精通 Linux?

我们医院有个大牛。有一次,我的Linux电脑下载了Microsoft office 365 不能运行。于是买了2.5升装康师傅冰红茶找到大牛,让他帮忙解决。大牛白了我一眼,让我把安装包发给他,只见他输入一个命令将安装包打开,整个屏幕都是数字...

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。这就是现实。发达国家,...

Redmi 为什么可以把性价比做得那么高?

一位修手机的老大哥曾经跟我说过,红米1那个手机,除了处理器还凑活,其余零部件,就是市面上山寨机那种。其实红米性价比并不算极致,而且一直都有竞争者,从原来的群魔乱舞,到后来的荣耀,魅蓝,一加,再到现在的IQOO和realme。红米的方法也很简...

在追求家居美学的过程中,如何选择一款电视机,使其既具备出色的音画质又能与家居装饰相得益彰?

在追求家居美学的过程中,如何选择一款电视机,使其既具备出色的音画质又能与家居装饰相得益彰?

先看照片,你就说美不美吧?我家这个40平的客厅东西放得不少,其中最提升观感的是各种灯光,在这么多灯光中,是不是第一眼视觉中心就落在了电视上?没错,因为这电视是非常特别的环景光电视,与显示器的神光同步一样,会随着画面的变化而变化不同的光效,它...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。