写点什么

读《A Philosophy of Software Design》——(18)

作者:术子米德
  • 2022 年 4 月 07 日
  • 本文字数:769 字

    阅读完需:约 3 分钟

🤔☕️🤔☕️🤔

  • 读《A Philosophy of Software Design》——(18)Code should be Obvious

  • 📖:显而易见的代码,是读代码的人的感受。读码人说不够显而易见,那就不够显而易见。软件要设计得易于读,而非易于写。

    🤔:代码得显而易见,何谓显而易见?对于写代码的人,第一遍写下来思路清晰,表达无误,算是显而易见一阶。对于评审代码的人,第一次看到代码,就明白代码的目的,以及完成的程度,算是显而易见二阶。这里我要补充一下,所谓明白代码的目的,是指代码的实现,所谓完成的程度,是指代码的测试。也就是说,对于自己和别人而言,代码显而易见的程度,得靠测试代码来体现。经常提到代码,狭隘指功能代码,我不得不说,这是对代码心智不成熟的体现。只有功能的代码,对于个人其实无所谓,反正好了自己轻松点,差了自己辛苦点。可是只有功能的代码,移交出去后,那可能会把别人给恶心坏,如果自以为是自己代码质量过硬,那更加是自负无敌。至少,我曾经就这样,现在已经改过自新。不给测试代码,都不好意思跟人说我写了代码。

    🤔:代码要显而易见,回头去找代码的时序图,如果能找到,那么大概率代码不会难读,如果找不到,也懒得补一张,那么大概率很晦涩。我为啥知道?原因很简单。我之前的代码,就是不画时序图,写完后发现难以补上去,过段时间发现自己读都很饶头。现在代码,无论如何得画出来时序图,不出图写的代码,心里默念是草稿,就是为了把思路理出来,回头一定要补上,然后几乎会重写。

    🤔:把自己的代码,拿给初级工程师去评审,期望他能快速读懂,来增加代码的可读性,从而达到显而易见的代码质量。不得不说,这很有挑战。首先,挑战来自勇气,也就是自己写的代码,人家怎么也看不懂,还假装看懂的样子。其次来自耐心,有时候对方真的既不熟悉业务、也不懂这样的写法,得同时讲明白业务和实现。

        —— By 术子米德 @2022.04.05

发布于: 2022 年 04 月 07 日阅读数: 2
用户头像

术子米德

关注

遇见每天的自己,莫忘初心,莫丢念头 2020.03.05 加入

喜欢有的没的,喜欢自言自语式笔记

评论

发布
暂无评论
读《A Philosophy of Software Design》——(18)_架构师成长笔记_术子米德_InfoQ写作平台