代码异味

✍ dations ◷ 2025-08-19 09:46:01 #代码异味

程序开发领域,代码中的任何可能导致深层次问题的症状都可以叫做代码异味(Code smell)。

通常,在对代码做简短的反馈迭代时,代码异味会暴露出一些深层次的问题,这里的反馈迭代,是指以一种小范围的、可控的方式重构代码。基于这些暴露的问题,人们会进一步的检查设计和代码中是否还存在别的代码异味,然后再做进一步的重构。从负责重构的开发者的角度来看,代码异味可以启发何时重构,如何重构。因此,可以说代码异味推动着重构的进行。

该术语似乎由肯特·贝克于90年代后期,在WardsWiki上首次使用。且自从在.被提到过,使用率就大大的提高。代码异味同时也是敏捷开发者常用的术语。

什么是,或者不是代码异味,是一个主观的判断,通常因语言、开发者、开发方法的不同而不同。对于Java开发语言,有些工具,比如Checkstyle、PMD和 FindBugs可以自动检测一些代码异味。

相关

  • 多元化多元或多元主义(英语:pluralism)在社会科学和政治哲学中,指不同种族、民族、宗教或社会群体在一个共同文明体或共同社会的框架下,持续并自主地参与及发展自有传统文化或利益并且
  • 普世人性普世文化通则,或普世人性指的是在世界上所有的文化当中的都出现的元素、模式、特质或制度等。演化心理学认为所有文化当中都出现的行为或特质,有可能是演化适应的结果;另外,一些
  • 阮玉福祥宜春公主阮玉福祥(越南语:Nghi Xuân Công chúa Nguyễn Ngọc Phúc Tường/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HA
  • 维多里欧·艾里格尼维多里欧·艾里格尼(意大利语:Vittorio Arrigoni,1975年2月4日-2011年4月15日)是意大利的记者、作家、人权运动家。他生前长期与由巴勒斯坦人组成的组织国际团结运动合作,替巴勒斯
  • 上海吴昌硕纪念馆上海吴昌硕纪念馆是位于中华人民共和国上海市浦东新区陆家嘴的一个纪念吴昌硕的纪念馆,建筑面积1600平方米。馆内设有吴昌硕生平陈列室、大师画室和作品展示厅。原址位于浦东
  • 斯洛陶伯-赫拉茨马立方斯洛陶伯-赫拉茨马立方(Slothouber–Graatsma puzzle)是一个智力游戏,要用 6 个 1 × 2 × 2 的立方体和 3 个 1 × 1 × 1 的立方体组成一个 3 × 3 × 3 的立方体,若将可由旋
  • 霍亨索伦城堡霍亨索伦城堡(Burg Hohenzollern)是德国南部最著名的两大城堡之一,与巴伐利亚州的新天鹅堡齐名于世。位于黑欣根南方20公里的一座丘陵上,所在的小城市叫毕森根,每天都有附近城市
  • 巴伐利亚级战列舰巴伐利亚级战列舰(德语:Linienschiffe der Bayern-Klasse)是德意志帝国海军所建造的四艘超无畏战列舰的船级。该级别包括有巴伐利亚号、巴登号、萨克森号和符腾堡号。舰只的建造工程始于第一次世界大战前夕;其中巴登号于1913年下水,巴伐利亚号和萨克森号随后于1914年,而最后的符腾堡号则是于1915年下水。只有巴登号和巴伐利亚号最终完工,这是由于战事的胶着使得造船业的优先级发生改变。U型潜艇被确定为更有利于开展战争行动,因而新造战列舰工程的进展开始放缓,并最终完全停止。结果,巴伐利亚
  • 政治语言学政治语言学(英语:political linguistics)是由语言学和政治学交叉形成的一门新兴语言学分支学科,研究语言和政治之间的共变关系,它与社会语言学和媒体语言学之间有着密切的联系。主要采用的研究方法是话语分析法。在研究政治语言学时,人们可以关注口号、大众传媒、辩论和宣传对说服个人的价值观和身份认同的影响。
  • 谢尔盖·苏罗维金谢尔盖·弗拉基米罗维奇·苏罗维金(俄语:Сергей Владимирович Суровикин,1966年10月11日-),俄罗斯武装力量大将,俄罗斯空天军司令。2022年10月8日,他成为所有特别军事行动的俄罗斯部队指挥官。 2023年1月11日,他转任副指挥官,总指挥官由陆军大将格拉西莫夫(现任俄罗斯武装力量总参谋长)接任。苏罗维金的父亲弗拉基米尔·伊万诺维奇·苏罗维金上校曾参加卫国战争及作为苏联航空队一员参加朝鲜战争,已确认在米格走廊击落三架美军 F-86佩刀战斗机。1966年4月25日,弗拉基