设计异味

✍ dations ◷ 2025-12-03 16:51:28 #计算机编程

设计异味是计算机编程领域,设计所用结构违背了基本设计原则并对设计质量有负面影响。这个术语源自马丁·福勒在《重构-改善既有代码的设计》一书中描述的代码异味。

不同作者对“异味”(smell)有不同的定义:

设计异味指示了积累的设计负债(技术负债的主要维度)。Bug与未实现功能不算是设计异味。设计异味产生于很差的设计决策,使得设计脆弱、难于维护。在一个软件系统中辨别设计异味,应用适当的重构去除异味,避免积累技术负债,是好的实践。

在确定特定结构或决策是否算作设计异味时,上下文环境(如问题清单、设计生态圈、平台等)扮演了重要角色。很多时候,由于上下文环境所限,只好容忍设计异味。

面向对象设计的SOLID五大原则:单一功能原则:一个类只应有一个“改变的原因”(即功能);开闭原则:软件实体(类、模块、函数等)应当对扩展是开放的,对修改是关闭的;里氏替换原则:子类型能替换基类型;依赖反转原则:高层模块不应依赖于低层模块,二者应当依赖于抽象。抽象不应依赖与细节。细节应当依赖于抽象。接口隔离原则:类应当有胖(fat)接口,可被分为方法的分组。每个分组服务于不同的客户集。客户不应当知道这些分组是在同一个类中。

相关

  • 铝合金铝合金通常使用铜、锌、锰、硅、镁等合金元素,20世纪初由德国人Alfred Wilm发明,对飞机发展帮助极大,第一次大战后德国铝合金成分被列为国家机密。跟普通的碳钢相比有更轻及耐
  • 水能水力发电(英文:Hydropower)是运用水的势能转换成电能的发电方式,其原理是利用水位的落差(势能)在重力作用下流动(动能),例如从河流或水库等高位水源引水流至较低位处,流的水流推动轮机
  • 阿弗烈·芮克里夫-布朗Alfred Reginald Radcliffe-Brown1881年9月17日 英国伯明翰1955年10月24日 英国伦敦阿尔弗雷德·拉德克利夫-布朗(Alfred Radcliffe-Brown,原名Alfred Brown,1881年9月17日-19
  • 黄原鼻白蚁黄原鼻白蚁(学名:)隶属于鼻白蚁科(Rhinotermitidae)原鼻白蚁属(),属于巢食共处型(One-piece type),可在潮湿的漂流木及枯的植物中发现,此特性可能使他们能够随着漂流木播迁至远方的岛屿
  • 算数阶层算术阶层是递归论或可计算性理论中的概念,将自然数的子集按照定义它们的公式的复杂度分类。设 ϕ ( x ) {\displays
  • 白话文学白话文学是相对于中国古代文言文书写的作品而言的,是用当时的北方方言为基础的一种书面语形式的文学。白话文学最初是在唐朝时形成的,主要以当时民间的说唱文学为代表,称之为变
  • 米尔恰·伊利亚德米尔恰·伊利亚德(罗马尼亚语:Mircea Eliade,1907年3月9日-1986年4月22日),罗马尼亚宗教史学家、科幻小说作家、哲学家,美国芝加哥大学教授。他对宗教的解读开风气之先,成为宗教研究
  • 康拉德·策尔蒂斯康拉德·策尔蒂斯(英语:Conrad Celtes),(1459年2月1日-1508年2月4日),文艺复兴时期欧洲历史学家和拉丁语诗人。1487年他成为首位帝国桂冠诗人,这是一项授予优秀的拉丁语诗歌作者的荣
  • 兰德福兰基尚·阿里布尔·雅达(Ramkishan Alipur Yadav)生于1953年,以斯瓦米·兰德福(Swami Ramdev)闻名于世,是一名印度的印度尊者,同时也是著名的瑜伽教师。他同时也是季维亚哟门迪尔信
  • 傻瓜们的监狱生活《傻瓜们的监狱生活》(韩语:호구들의 감빵생활,英语:Prison Life of Fools),为韩国tvN电视台播出的真人实境秀节目。节目形式是成员分组进行各种游戏,推理并找出隐藏在“监狱模范犯