哪些原则,代码质量,实践,aproaches,语言或框架功能可以帮助您在更广泛的案例中有效地重用功能,类等。所有情况都很有趣:要么您可以修改代码的实现和接口,以启用/改进重用,或者仅实现,或者根本不修改。重用有效性的关键指标是(对我而言):
(所有比较从较低级别重新实现)。
PS。如果可能的话,请为每个答案指定一个因素,并说明它对您的案例有何帮助。
答案 0 :(得分:5)
这是一个经典 - 低coupling和高凝聚力。如果一个模块或函数执行一个特定的任务并且具有很少或没有依赖性,那么它将比可执行多个任务更具可重用性(因为它适用于更多种情况),有很多副作用,需要其他模块等等。
答案 1 :(得分:3)
Test Driven Development。要使代码易于进行单元测试,它应该:
1)只做一件事
2)拥有尽可能少的依赖
3)经常传入这些依赖项(以便可以模拟它们)
令人惊讶的是,这些因素也使得可重用代码成为可能。实际上并非巧合 - 拥有可重复使用代码的最佳方式是确保它尽可能早地被至少两个呼叫者使用。使用TDD创建的代码开始使用两个父项 - 正在构建的代码和单元测试,因此它从一开始就被重用。
除了重用之外,TDD还有许多其他优点 - 它为您提供了所有代码的自动化测试,它充当了如何使用代码的示例文档,并使重构变得更加安全。使用TDD编写代码可能比编写没有测试的代码要花费更长的时间,但是通常需要花费更少的时间来调试代码。答案 2 :(得分:3)
主要因素是人以及他的技能,经验和大脑 如果一个人不知道如何应用它们,那么所有最佳实践都毫无价值。
为了更具体和解决评论,我将列出以下有助于代码重用的技能/个人态度:
它类似于成为一名优秀的数学家,科学家或艺术家。每个人都可以阅读和学习许多实践。 但只有那些能够应用这些实践的人才能掌握他们的技巧。
重点是可重用性问题更多的是关于个性,而不是技术性。
答案 3 :(得分:2)
功能本质上应该没有副作用。 不要使用全局变量 - 传递函数在参数中需要的内容,并将函数的输出作为返回值传递