哪些原则,代码质量,实践,侵犯,语言或框架功能可以帮助您在更广泛的情况下有效地重复使用,类等。所有情况都很有趣:要么您可以修改代码的实现和接口,以启用/改善重复使用,或者仅实现,或者根本没有。重用有效性的关键指标是(与我一样):

  • 它减少了实施和维护的努力
  • 应用质量不会降低
  • 减少了多少复杂性

(所有与较低级别的重新进化相比)。

PS。如果可能的话,请指定每个答案的一个因素,并描述其在您的情况下的帮助。

有帮助吗?

解决方案

测试驱动的开发. 。为了使代码轻松测试,应该:

1)只做一件事

2)尽可能少

3)通常会传递这些依赖项(以便可以嘲笑它们)

出于惊人的巧合,这些因素也使可重复使用的代码构成了可重复使用的代码。实际上,这不是巧合 - 拥有可重复使用的代码以确保至少两个呼叫者尽早使用它的最佳方法。使用TDD创建的代码从两个父母开始生命 - 正在构建的代码和单位测试,因此从一开始就将其重复使用。

除重用外,TDD还具有许多其他优势 - 它为您提供了所有代码的自动测试,它是如何使用代码的示例文档,并且使重构更安全。使用TDD编写代码的时间比没有测试的编写代码需要更长的时间,但是您通常会通过更少的时间调试来弥补它。

其他提示

这是经典 - 低 耦合 和高凝聚力。如果模块或功能执行一个特定的任务,并且依赖项几乎没有或没有依赖项,则比执行多个任务,具有很多副作用,需要其他模块,它将更可重复使用(因为它适合更大的情况) , ETC。

主要因素是 人类 以及他的技能,经验,大脑。
如果一个人不知道如何应用它们,那么所有最佳实践都是一文不值的。

为了更具体并解决评论,我将列出有助于可重复使用的以下技能/个人态度:

  • 纪律 (复制粘贴很容易,可重复使用良好需要纪律)
  • 热情 (您必须要重复使用代码并为此感到自豪)
  • 想象 项目(您必须看到项目的全局,不仅是代码语句)
  • 感觉 代码(您必须能够捕获 代码气味, ,查看可以帮助的实践和模式)
  • 仅启用 测试驱动的开发 心灵可以确保代码质量以及可重复使用性。

这类似于成为一名优秀的数学家,科学家或艺术家。每个人都可以阅读和学习很多实践。 但是,只有那些能够应用这些做法的人才能掌握自己的手艺。

重点是可重复使用问题更多是关于 个性,而不是技术性.

函数本质上应没有副作用。不要使用全局变量 - 传递函数在参数中需要的内容,并将函数输出作为返回值传递

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top