设计异味

✍ dations ◷ 2025-10-20 16:20:46 #计算机编程

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

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

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

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

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

相关

  • 波尔查诺博尔扎诺(意大利语:Bolzano,,德语:Bozen,博岑,,当地方言:,拉登语:Bulsan,,拉丁语:Bauzanum)是意大利北部上阿迪杰的省会,靠近奥地利边境及威尼斯西北偏北。波尔扎诺自治省的省政府和省议会位
  • 自然界自然(英文:Nature),是指不断运行演化的宇宙万物,包括生物界和非生物界两个相辅相成的体系。人类所能理解地自然现象有:生物界的基因模因、共识主动、意识行为、社会活动和生态系统
  • 马利肯罗伯特·桑德森·马利肯(英语:Robert Sanderson Mulliken,1896年6月7日-1986年10月31日),美国物理学家、化学家。因其对于分子轨道理论的贡献,1963年获彼得·德拜奖,1966年获诺贝尔
  • 小猪小猪,可以指:另外小猪经常被用来作为某些人的外号或别称:
  • 次开央元音次开央元音是元音的一种,用于一些口说语言当中,国际音标以⟨ɐ⟩代表此音,而X-SAMPA音标则以⟨6⟩代表此音。国际音标中的此符号为一个倒转的印刷体a。事实上,国际音标中并没有
  • 窈窕淑女 (电影)《窈窕淑女》(英语:)是一部1964年出品,取材自爱尔兰剧作家萧伯纳舞台剧《卖花女》(Pygmalion),由奥黛丽·赫本、雷克斯·哈里逊主演,乔治·库克执导的电影。《窈窕淑女》是描述一名
  • .mp.mp为北马里亚纳群岛国家及地区顶级域(ccTLD)的域名。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az  B .ba .bb .bd .be .bf .bg .bh .bi .bj
  • 每日耐受量每日耐受量(英语:Tolerable Daily Intake,简称TDI),是指在生物体的体内,每天所能容忍摄入的最大毒物质量,如果超出每日的耐受量,则会对身体造成伤害。中国大陆早在2008年6月就有传出
  • 约瑟夫·贝克约瑟夫·贝克(波兰语:Józef Beck;1894年10月4日于华沙—1944年6月5日于罗马尼亚斯特内什蒂),是波兰政治家、外交官、军官,与约瑟夫·毕苏斯基的紧密政治伙伴。他在1930年代担任波
  • 特技飞行特技飞行指飞行员操纵飞行器有意做出来的超出必要范围的机动飞行动作。特技飞行是任何飞行员完成训练的必修课,更是空中格斗的基本能力。特技飞行也是一项竞技运动,或做为表演