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

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

卡卷网9个月前 (01-05)每日看点132

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

It'sproalytimetostoprecommendingCleanCode

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

原文很长,我做个小节:

<>#1.反对的理由

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

<>#2.替代书籍推荐

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

<>#3.作者最后吐槽

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

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

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


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

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

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

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

分享给朋友:

相关文章

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯神贴合集完整版,给大家整理好了!那年大学,打开天涯,感觉打开了一片新天地,里面什么样的人都有,有大神也有蛇神,比某乎好太多了,可惜后面关了很多年前,天涯社区曾出现了不少深受欢迎的帖子,成功地预言了许多形势和事件。这些帖子因此被冠以“天涯...

为什么雷军身上没有酒色财气?

武大建校130周年时,雷军向母校个人捐款13亿。在2023年8月14日晚上七点,雷总在国家会议中心举行的进行第四次年度演讲「成长」:全篇都在谈成长、梦想,这么多年了,始终做到了知行合一,我相信酒色财气可能真不是他所追求的,一直追求的就像他演...

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

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

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

华为纯血鸿蒙,从此天下三分了吗?

华为纯血鸿蒙,从此天下三分了吗?

万众期待的纯血版 HarmonyOS NEXT 终于是端上来了,主打一个自研,从里到外,从内核到架构,都是自研。用户的激情已经被点燃,可见大家对于纯血鸿蒙的期待,但是鸿蒙系统能不能真正与安卓、iOS三分天下呢?目前来说,还为时过早。iOS和...

程序员都有自己的服务器吗?

程序员都有自己的服务器吗?

2024.9. 24,有朋友咨询功耗,我没有单独给服务器弄智能插座,系统做的 esxi 也看不到,所以只能用其他角度判断供大家参考。我有一个餐边柜改的机柜,里面白裙两盘,黑群晖 4 机械 1 mvme,一个爱快硬路由,一个联通光猫,一个 2...

是不是从Java培训班出来的人都被淘汰了?

真实个人经历。我就是从培训班出来的,但没有学完就跑出来了。当我明白什么人不管什么基础都能进培训班进行培训,学到什么程度都能保证他们包就业,我就知道不正常。我自己是大三下的时候去的,考研考到一半感觉无望,想抓紧时间学习技术,利用应届生身份准备...

发表评论

访客

看不清,换一张

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