整理代码:近藤麻理惠式
如果你最近看过 Netflix、上网或者和人聊过天,很可能听说过近藤麻理惠,或者看过她主持的那个整理节目,也就是《怦然心动的人生整理魔法》(Tidying Up with Marie Kondo)。近藤麻理惠的整理方法(KonMari)注重在整理过程中激发人们的喜悦。正如她在网站上所说(链接在此)。
“近藤麻理惠的整理方法™提倡按类别而非地点进行整理,从衣物开始,然后是书籍、文件、小物件(杂物),最后是具有纪念意义的物品。只保留那些触动心灵的物品,丢弃那些不再让你感到快乐的物品。感谢它们曾经的陪伴,然后放手吧。”
软件架构常被比作房屋的结构——地基和建筑模块,最终构成一座房子。那么,把我们的代码比作家里的杂物岂不也贴切吗?有些房子杂物多,有些少,但几乎总有改进的空间。近藤麻理惠致力于打造一个井然有序、令人愉悦的家。让我们也来试试吧!我们可以从这位整理专家那里学到什么,来改善我们的代码,让它也充满喜悦呢?
第一步:找到快乐源泉。对某些人来说,快乐可能是抱着小狗的感觉;但对技术人员而言,快乐可能是打开文件并轻松浏览其中的内容。找出你在编写代码时感到快乐的原因,并努力在自己的代码库中营造这种感觉。
注意:采取敏捷方法,使此流程适用于您的团队/工作流程。
就像近藤麻理惠那样,让我们按类别开始整理吧。
挑战:打开你的项目,并按类别整理代码。对于大多数代码库来说,我猜想这会以功能为导向,但你可以选择最适合团队的方式。
在近藤麻理惠的整理方法中,她会根据每个类别,要求屋主收集属于该类别的物品,将它们放在房间中央,然后逐一拿起每件物品。那些能让你感到快乐的物品,放在“保留堆”里;那些不能让你感到快乐的物品,放在“丢弃堆”里。
挑战:我们不能一下子删除所有丑陋的代码,但我们可以先找出代码库中一个让你或你的团队非常困扰的地方(方法、文件等等),然后从这里入手。
这个挑战的目的不是让你贸然重写整个应用程序,而是让你逐步找到可以改进的地方。从最让你困扰的地方开始,集中精力解决它,准备好之后再处理下一个问题。
- 将大型函数拆分成作用域更小的方法。
- 更新变量和函数名称,使其更具信息量。
- 进行小而频繁的更改和提交,这样更容易跟踪。
- 简化相似或重复的代码。
- 为了进一步提升这些能力,我建议查看我们在《代码整洁之道》和《重构阅读》中的实践。
在将这些基本原则应用到我一直在维护的代码库之后,我开始发现其他一些可以改进的地方。更清晰的代码表明,之前未测试过的逻辑编写测试也并非易事。
挑战:检查你重构的代码,确保存在合适的单元测试/UI测试,添加缺失的测试,并删除任何不必要或冗余的测试。一个好的经验法则是优先测试逻辑。任何if语句、数据变更等都应该进行测试。
我发现最后一个可以显著改进的地方是移除不必要的视图。当贡献者众多时,随着时间的推移,代码会变得混乱不堪。这是开发过程中不可避免的。使用视图调试器(它可以让你看到应用程序的各个层级)可以让你清楚地看到哪些视图是冗余的,哪些视图从未被使用过。
挑战:找出只有一个子视图的父视图,这类父视图本身已经无关紧要。找出隐藏且从未显示的视图。找出从未添加过的视图等等。清理这些视图有助于提升应用程序的性能和维护性。
再次提醒,您可以根据自己的工作流程和团队风格进行调整。不要试图重写整个应用程序,而是尝试将一个小的改进融入到您当前正在开发的工作中。积少成多,小的改进也能带来显著的效果。我从 Marie 的《代码整洁之道》和《重构阅读》中汲取灵感,并取得了非常满意的成果,相信您也会有同样的感受。如果您尝试了这种方法,请务必回来分享您的体验!
重构愉快!
文章来源:https://dev.to/kaydacode/tidying-up-your-code-konmari-style-3b64