软件复用问题之区分「不重复」和「复用」,如何解决

简介: 「不重复」和「复用」之间有何区别软件复用问题之区分「不重复」和「复用」,如何解决

问题一:抽象的结果对组件的可复用性有何影响?


抽象的结果对组件的可复用性有何影响?


参考回答:

抽象的结果直接决定了后续该组件可复用性程度的高低。


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

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



问题二:为什么良好的抽象能力对开发者来说是稀缺的?


为什么良好的抽象能力对开发者来说是稀缺的?


参考回答:

良好的抽象能力需要对问题进行清晰的定义、简化和分解,同时识别和利用通用模式,将子问题的解法组合起来形成一个整体解决方案。这需要依赖对设计模式、开源的库和框架、数据结构和算法以及大量生产项目的长期实践和思考,因此对大部分开发者来说是稀缺的。


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

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



问题三:错误的抽象会造成什么危害?


错误的抽象会造成什么危害?


参考回答:

错误的抽象造成的危害甚于不抽象。比如常见的一个现象是对设计模式的适用范围知之甚少,仅仅为了炫技而滥用设计模式,这会导致代码的可读性和可维护性下降。


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

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



问题四:为什么单纯追逐复用性可能会出现本末倒置的现象?


为什么单纯追逐复用性可能会出现本末倒置的现象?


参考回答:

因为复用只是实现不重复目标的一种手段,「不重复」才是我们设计软件系统时的目标。如果过度追求复用性,而忽略了不重复的原则,就可能导致出现一些接入成本非常高的框架或系统,从而增加了使用方的负担。


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

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



问题五:「不重复」和「复用」之间有何区别?


「不重复」和「复用」之间有何区别?


参考回答:

「不重复」即 DRY 原则,目标是通过减少重复建设从而避免承担副本不一致的维护成本。而「复用」是从所有代码中找到重复的部分,在复杂度可控的前提下,抽象出可复用的东西。不重复是目标,复用是实现这个目标的一种手段。


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

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

相关文章
|
小程序 开发者 异构计算
小程序真机调试反应很慢卡顿,界面跳转之后,页面出现空白,无法点击等问题解决方案
小程序真机调试反应很慢卡顿,界面跳转之后,页面出现空白,无法点击等问题解决方案
1530 0
小程序真机调试反应很慢卡顿,界面跳转之后,页面出现空白,无法点击等问题解决方案
|
9月前
|
机器学习/深度学习 数据可视化
Visual-RFT:基于强化学习的视觉语言模型微调技术研究
Visual-RFT 是一种创新的视觉语言模型微调技术,结合基于规则的可验证奖励与强化学习,克服了传统监督微调在数据稀缺场景下的局限。它通过渐进式推理和多样化响应生成,优化模型在对象检测、图像分类等任务中的表现,尤其适用于少样本学习。该方法采用组相对策略优化(GRPO)进行参数更新,简化了强化学习流程,同时保持高效性。实验结果表明,Visual-RFT 在细粒度分类和推理定位等任务中显著优于传统方法,展示了其在实际应用中的巨大潜力。
476 1
Visual-RFT:基于强化学习的视觉语言模型微调技术研究
|
安全 物联网 Linux
操作系统的心脏——内核
【10月更文挑战第22天】 本文将深入探讨操作系统的核心组成部分——内核,包括其定义、功能、类型以及在现代计算中的重要性。通过了解内核的工作原理和设计哲学,我们可以更好地理解计算机是如何执行任务和管理资源的。
868 2
|
10月前
|
存储 缓存 自然语言处理
浏览量超 10w 的热图,描述 RAG 的主流架构
大模型性能的持续提升,进一步挖掘了 RAG 的潜力,RAG 将检索系统与生成模型相结合,带来诸多优势,如实时更新知识、降低成本等。点击本文,为您梳理 RAG 的基本信息,并介绍提升大模型生成结果的方法,快一起看看吧~
1096 109
|
10月前
|
人工智能 算法 云计算
0元!使用魔搭免费算力,基于Qwen基座模型,复现DeepSeek-R1
近期,随着DeepSeek-R1爆火,学术界掀起一股复现DeepSeek-R1的浪潮,李飞飞等斯坦福大学和华盛顿大学的研究人员以不到50美元的云计算费用,成功训练出了一个名为s1的人工智能推理模型。
804 5
|
SQL 关系型数据库 MySQL
MySQL数据库常见报错案例与错误代码说明
MySQL数据库常见报错案例与错误代码说明
1139 0
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
1029 0
|
存储 Linux API
解析音频输出调节音量的原理以及调节的方法
解析音频输出调节音量的原理以及调节的方法
1734 0
|
机器学习/深度学习 人工智能 算法
人工智能LLM模型:奖励模型的训练、PPO 强化学习的训练、RLHF
人工智能LLM模型:奖励模型的训练、PPO 强化学习的训练、RLHF
人工智能LLM模型:奖励模型的训练、PPO 强化学习的训练、RLHF
|
Windows
一步解决Bat脚本中包含中文时运行乱码问题
一步解决Bat脚本中包含中文时运行乱码问题
1728 1