分享

通过引入“代码重复”技巧来应对需求变化

 何为何未 2023-09-22

在软件开发中,需求变化是常见的情况。当我们面临新的需求时,通常会考虑修改代码以满足需求。然而,随着时间的推移,代码容易变得越来越复杂、难以理解。因此,消除代码重复成为了大多数程序员追求的目标之一。

“代码重复”是一种编程技巧,可以应用于解决开发中的需求变化。它的核心思想是,相比于错误的抽象,代码重复所带来的风险更小。美国著名软件工程师Sandi Metz曾经说过:“代码重复比错误的抽象伤害更小。” 这句话的意思是,尽管代码重复看起来可能不优美,但它比错误的抽象更容易理解和维护。

当我们发现代码中存在重复的部分时,可以将这些代码提取出来,并赋予其一个名字。这样就形成了一个新的抽象,可以是一个新的方法,也可以是一个新的类。将重复的代码用新的抽象代替后,代码看起来好像是完美的。但是,随着时间的推移,新的需求不断出现,新的程序员不断加入,代码变得越来越复杂、难以理解。

在这种情况下,代码重复可以帮助我们更好地应对需求变化。当有新的需求出现时,我们不需要修改原来的代码,而是可以通过修改新的抽象来应对需求变化。这样,我们就可以避免修改原来的代码所带来的风险,同时也可以减少代码的复杂度。因此,代码重复可以让我们更容易地应对需求变化,减少代码复杂度,提高代码的可读性和可维护性。

此外,现有代码具有强大的影响力,它的存在本身表明它是正确的和必要的。我们知道代码代表了所花费的工作,并且我们非常有动力去保存这项工作的价值。然而,代码越复杂、越难以理解,我们就越难以进行修改和维护。在创建代码时投入越多,我们就越会有保留这些代码的压力(“沉没成本谬误”)。因此,代码重复可以帮助我们避免“错误的抽象”问题,减少代码复杂度,提高代码的可读性和可维护性。

总之,通过引入“代码重复”来应对需求变化是一种有效的编程技巧。它可以帮助我们避免“错误的抽象”问题,减少代码复杂度,提高代码的可读性和可维护性。在日常工作中,我们应该注意发现代码中的重复部分,并将其提取出来,以便于后续的修改和维护。这样,我们就可以更好地应对需求变化,保持代码的可读性和可维护性。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多