改变范式:从过早的重构和虚假的“可重用性”到适应性、可扩展性和可靠性
时间 :
2024-12-10,08:07:08
编辑 ::ADMIN
在软件世界中,人们普遍痴迷于过早的重构以及对虚假可重用性的追求。开发人员(尤其是刚起步的开发人员)经常被教导“可重用性”是圣杯。但不惜一切代价追求可重用性往往会导致过度设计的解决方案,这些解决方案过于通用、过于僵化,并且与当前项目的具体需求相距甚远。事实上,它可能会导致我们通常所说的“抽象地狱”——除非您完全理解系统的每个部分如何以及为什么被抽象以适应通用接口,否则什么都不会真正起作用。
我们建议进行范式转变:不要沉迷于可重用性,让我们关注适应性、可扩展性和可重写性。
在这种情况下,我们不再尝试预测代码库的未来需求(就像算命先生预测未来一样),而是专注于为今天创建一个坚实、灵活的基础,该基础仍有增长空间和随着未来的展开而发展。
过早的重构困境:虚假的可重用性
过早重构的问题在于,它来自于这样的信念:您编写的所有内容都应该可重用。这似乎是一个崇高的目标。然而,可重用性常常会导致不必要的复杂性和不必要的抽象。以创建适用于所有模型的通用 api 适配器的概念为例。理想情况是该适配器可以处理任何 api 端点、任何数据格式和任何网络条件。但实际上,这意味着您正在为不确定的未来构建框架,而不是有效解决今天的问题。
示例:
让我们看看之前的 baseadapter 和 apiadapter 类:
export class baseadapter { constructor(modelclass) { this.modelclass = modelclass; } async get(id) { throw new error("method 'get' must be implemented."); } async *all() { throw new error("method 'all' must be implemented."); } async query(params = {}) { throw new error("method 'query' must be implemented."); } async create(payload) { throw new error("method 'create' must be implemented."); } async update(payload) { throw new error("method 'update' must be implemented."); } async delete(id) { throw new error("method 'delete' must be implemented."); } }
400电话优惠
热门新闻
- AI写作优化,难道不是高效创作···
- 专业的SEO优化电话,让您的网···
- 使用九幺一一SEO优化神器,让···
- ChatGPT邮箱注册难题,解···
- GoDaddy建站达人:怎样设···
- 摘要AI生成:提升工作效率,重···
- win10系统启动蓝屏怎么办
- docker更新容器使用什么命···
- 如何使用Cryptsetup加···
- 如何快速鉴定鞋子真伪?
- 企业建站案例分析:如何优化网站···
- 南宁网络推广新势力,独领风骚!
- 解读robots文件的编写与应···
- 一键源码获取,效率翻倍!
- 如何高效卸载ChatGPT:一···
- 外链SEO导航站 → 精准外链···
- 配置Linux系统以支持实时操···
- SEO关键词工具有哪些?提升排···
- “游戏新势力,网络一触即达!
- 人脉拓展神器,免费推广利器
- “百度快照改版,全新发布指南!···
- 视频号开店注销方法是什么?
- 人工智能润色文章:提升写作质量···
- SEO网站大师:如何打造高效能···
- SEO优化公司哪家好?选择合适···
- 装修类SEO是什么?助力装修行···
- 长沙SEO关键词霸屏
- 怎么写AI文章:让你轻松AI创···
- 如何设置关键词,提升网站排名与···
- 网页打印表格设计:用px还是p···
- 快手直播伴侣如何进行王者荣耀直···
- 佛山移动建站模板:手机网站制作···
- 网络营销案例分析:策略提炼与效···
- 一键安装,百度官方版速达!
- 免费虚拟主机+建站空间:海量资···
- dedecms文章列表页如何实···
- “一键外链,内容自由行”
- 不限建站数空间:如何选择最适合···
- 全能自助建站系统:AI智能创作···
- 广州SEO关键词外包服务
- 高级软卧车次一览,精选车次推荐···
- 全网营销真的很必要吗?
- 如何打造成功的淘宝直播?
- GoDaddy提供的网站建设模···
- 深度解析SEO蜘蛛:如何优化你···
- 使用 useNavigate ···
- 网站的推广方案都有哪些需要注意···
- 网站刷SEO,助力网站排名飞升···
- 5G内存虚机建站后,日常维护与···
- 淘宝联盟如何轻松实现分享赚钱?