好代码的产生过程20220517

分享
程序员 2024-10-6 06:32:06 86 0 来自 中国
近来在看《重构:改善既有代码的筹划》(反面简称《重构》),相识到一个写出好代码的思路。


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

什么意思呢?

我用搭积木来举例:

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

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

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

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

回到写好代码的生产过程,你以为是自顶向下筹划好呢,照旧自底向上涌现好呢?

已往我以为是自顶向下,拥有好筹划,才气写出好代码,而且我刚入职那会,我的组长也是这么给我说的。

但是这么做很查验一个人对将来功能厘革的趋势,如果判断错了方向,做出的筹划很快会变成扩展功能的拦阻,好筹划一瞬间会变成坏筹划。

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

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

如许一来对筹划要求没有那么高了,至少不消判断功能发展趋势。

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

一句话总结:方法没有优劣,只有是否得当。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:55, Processed in 0.101651 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表