美文网首页
好代码的产生过程20220517

好代码的产生过程20220517

作者: 终身成长日记 | 来源:发表于2022-05-17 19:55 被阅读0次

最近在看《重构:改善既有代码的设计》(后面简称《重构》),了解到一个写出好代码的思路。

在说这个话题前,好代码是什么样子,可扩展性高,可复用性高,功能内聚,代码解耦。

什么意思呢?

我用搭积木来举例:

扩展性高就是想要在搭好的积木增加一点功能,可以很简单,很方便的实现;

可复用性高就是用积木做的一个小单元,比如乐高积木的一些小零件就是可复用性的代表;

功能内聚就是积木都在内部发生作用,比如,我上次拼装乐高汽车,这个车能够在用力一推下向前走,而我在外面是看不到这个功能怎么实现的(当然我在拼的时候知道)。

代码解耦就是积木模块之间依赖关系并不大,比如,乐高积木中有一个凤凰站在枝头的,这里面凤凰和树之间的依赖关系,凤凰可以站在房子上,也可以站着人身上。

回到写好代码的生产过程,你觉得是自顶向下设计好呢,还是自底向上涌现好呢?

过去我认为是自顶向下,拥有好设计,才能写出好代码,而且我刚入职那会,我的组长也是这么给我说的。

但是这么做很考验一个人对未来功能变化的趋势,如果判断错了方向,做出的设计很快会变成扩展功能的阻碍,好设计一瞬间会变成坏设计。

《重构》提出的思路是,自底向上的涌现思路,好代码不是设计出来的,而是改出来的。

就是先去完成功能,然后进行重构代码,修改代码结构,就这样不断这个循环使得代码变好。

这样一来对设计要求没有那么高了,至少不用判断功能发展趋势。

对比自顶向下和自底向上,发现当方案很容易改变时,使用自底向上会更好,毕竟难度会较低,当方案不容易修改,比如,城市规划这种自顶向下显然更好,你总不能将原本建好的房子拆了变成马路。

一句话总结:方法没有好坏,只有是否适合。

相关文章

  • 好代码的产生过程20220517

    最近在看《重构:改善既有代码的设计》(后面简称《重构》),了解到一个写出好代码的思路。 在说这个话题前,好代码是什...

  • 2022-05-17

    坚持分享第1538天 20220517

  • IOS #define和预编译指令

    预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。 ...

  • 20220517

    都说有个不惑之年,可是临近了却发现依然惑得很,女儿来帮忙开解我,说是不要为未来担忧,要为自己活,相信自己也可以不一...

  • 20220517

    当我无法平静下来的时候,我的脑子里有各种声音在质疑我。 我在练习,有一个声音说这么多,你都不懂怎么办?算了吧?是不...

  • 20220517

    失败不是结束,放弃才是!

  • 20220517

    疫情是一面照妖镜,折射出过往看不到的方方面面。 谁真正关心你,谁真正用心关心你,很清楚,虽不能绝对。 灵给我好几次...

  • 20220517

    今天爹来我家溜达,脖子僵硬不舒服,我帮他按摩陆陆续续,又是按又是用按摩锤敲。搞了一个多小时。把我累够呛,他也说舒服...

  • 20220517

    今日份插画 今天晚上是线描插画直播课,课程难度不大,主要是用钢笔工具画线稿可能会比较费时间,可以先用ps画草稿,转...

  • 从视觉单元到视觉单元组合

    #视觉表达力 #小作文 DAY5 | 20220517 《视觉思维》([韩]郑珍好 著 中国铁道出版社) (阅读...

网友评论

      本文标题:好代码的产生过程20220517

      本文链接:https://www.haomeiwen.com/subject/lewnurtx.html