软件复用问题之在哪些情况下,复制可能是一个更好的选择

简介: 软件复用问题之在哪些情况下,复制可能是一个更好的选择

问题一:马丁·福勒的「Rule of Three」是什么?


马丁·福勒的「Rule of Three」是什么?


参考回答:

马丁·福勒在《重构》一书中提出的「Rule of Three」是一条代码重构经验法则。它建议我们可以复制和粘贴一次代码,但是当复制相同的代码三次时,应将其提取到新过程中进行抽象以便于复用。这个法则中的最小重复次数3与上述提升组织复用ROI的结论是一致的。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621687



问题二:为什么说 DRY 原则并不完全等价于复用?


为什么说 DRY 原则并不完全等价于复用?


参考回答:

DRY 原则强调消除重复代码,而复用则侧重于使用已有的代码或组件。尽管两者都旨在减少冗余,但复用可能引入不必要的依赖和复杂性,有时并不符合 DRY 原则的初衷。因此,DRY 原则并不完全等价于复用。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621688



问题三:在项目中设计了全局的字符串常量类,并让所有其他模块引用这个常量类,这是一个好的实践吗?


在项目中设计了全局的字符串常量类,并让所有其他模块引用这个常量类,这是一个好的实践吗?


参考回答:

这个实践并没有绝对的答案。虽然全局常量类可以提供一种集中的方式来管理常量,但也可能导致不必要的类加载和依赖。在某些情况下,定义模块内的常量类或类中的常量字段可能更为合适。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621689



问题四:何时应该考虑复制代码而不是尝试复用?


何时应该考虑复制代码而不是尝试复用?


参考回答:

当真实使用的代码占可复用组件整体代码逻辑的比例较低时,或者当复用会引入不必要的依赖和复杂性时,可以考虑复制代码。此外,当语义不一致时,适度的复制也可能是一个更好的选择。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621690



问题五:在哪些情况下,复制可能是一个更好的选择?


在哪些情况下,复制可能是一个更好的选择?


参考回答:

当复用会引入不必要的包依赖,造成应用包膨胀或者集成时的包冲突问题时,复制可能是一个更好的选择。此外,如果复用的成本较高(如 RCR 较高),而复制的成本较低(如 RL 较低),那么复制也可能是一个更经济的选择。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621691

相关文章
|
4月前
软件复用问题之衡量是否应该复制或复用代码,如何解决
软件复用问题之衡量是否应该复制或复用代码,如何解决
|
6月前
|
前端开发 JavaScript 测试技术
修改代码的艺术——如何高效开发、维护和重构复杂的现有系统
这篇文章回忆了作者在高三时期通过努力进入班级前列的故事,并引申到软件开发领域。作者指出,开发工作往往被认为困难重重,但实际上,通过良好的方法、设计和工具,可以提高开发效率和享受编程带来的成就感。文章以最近完成的一个复杂核心需求为例,详细介绍了如何分析、设计和实现这个需求,包括采用领域驱动设计(DDD)理念,数据库字段变更,代码实现,自动化单元测试,重构和代码维护的重要性。最后,作者推荐了几本关于软件开发的经典书籍,并鼓励开发者不断提升自己,以更好地应对挑战。
|
数据库
重构——前提工作
重构——前提工作
重构改善既有代码的设计---笔记
重构改善既有代码的设计---笔记
220 0
|
程序员
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
573 0
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
|
设计模式 Java 程序员
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
206 0
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
重构-改善既有代码的设计-简化函数调用
Rename Method 函数改名 问题函数的名称未能揭示函数的用途。方法修改函数名称。动机好的函数需要有一个清晰的函数名。
1009 0