About: Code smell

An Entity of Type: Rule105846054, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem. Determining what is and is not a code smell is subjective, and varies by language, developer, and development methodology. The term was popularised by Kent Beck on WardsWiki in the late 1990s. Usage of the term increased after it was featured in the 1999 book Refactoring: Improving the Design of Existing Code by Martin Fowler. It is also a term used by agile programmers.

Property Value
dbo:abstract
  • رائحة الكود (بالإنجليزية: Code smell)‏ في علم الحاسوب : هي علامات وإشارات داخل الكود تدل على أن هناك خلل في التصميم وهي بحد ذاتها لا تعتبر خطأ برمجي، وربما نجد أكواد مليئة بهذه الروائح لكنها تعمل على ما يرام دون أي مشاكل. يعتبر مهندس البرمجيات كينت بيك (مخترع منهجية التطوير XP) هو أول من بدأ باستخدام هذا المصطلح للدلالة على أن هناك خلل ربما يبدوا بسيطا في أول الأمر لكن سرعان ما سيتحول إلى كارثة حقيقية في المستقبل. ظهر المصطلح وانتشر بين مهندسي البرمجيات بعد أن ذكره كينت بيك في كتابه: Refactoring: Improving the Design of Existing Code (بالعربية:إعادة الهيكلة: تحسين تصميم الكود الحالي) والذي يعتبر من أفضل الكتب في المجال لمهندسي البرمجيات ومطوري التطبيقات. أحد الأمثلة الشهيرة على هذه الراوئح هي وجود دالة تحوي مئات الأسطر وربما تستقبل العديد من الوسائط، أو نجد كائن يقوم بعمل كل شيء God Object, أيضا كمثال آخر- دائما ما يقع فيه المطورين المبتدئين- هو وجود أجزاء مكررة في الكود. لو نظرنا إلى هذه العلامات أو الروائح في الكود نجد أنها من الناحية التقنية ربما تكون صحيحة، لكن تكمن المشكلة في حالة تم تغيير متطلبات المشروع وكانت هناك حاجة إلى القيام بالتعديل على مثل هذه الأكواد أو إضافة خصائص وميزات جديدة. ما يمكن أن نتوقعه في مثل هذه الحالات، هو أن سرعة تنفيذ هذه المتطلبات الجديدة ستكون بطيئة جدا وربما لن يتمكن المطور من تطبيقها أو في بعض الحالات سينتج عن تطبيقها العديد من الأخطاء البرمجية. (ar)
  • Za „pachy“ v kódu lze považovat jakýkoliv symptom v kódu, který ukazuje na hlubší problém. Tento problém často nelze vidět hned, ale může být odkryt, pokud je kód podroben důkladné analýze. (cs)
  • Unter Code-Smell, kurz Smell (engl. ‚[schlechter] Geruch‘) oder deutsch übelriechender Code versteht man in der Programmierung ein Konstrukt, das eine Überarbeitung des Programm-Quelltextes nahelegt. Dem Vernehmen nach stammt die Metapher Smell von Kent Beck und erlangte weite Verbreitung durch das Buch Refactoring von Martin Fowler. Unter dem Begriff sollten handfestere Kriterien für Refactoring beschrieben werden, als das durch den vagen Hinweis auf Programmästhetik geschehen würde. Bei Code-Smell geht es nicht um Programm- oder gar Syntaxfehler, sondern um funktionierenden Programmcode, der aber schlecht strukturiert ist. Das größte Problem liegt darin, dass der Code für den Programmierer schwer verständlich ist, so dass sich bei Korrekturen und Erweiterungen häufig wieder neue Fehler einschleichen. Code-Smell kann auch auf ein tieferes Problem hinweisen, das in der schlechten Struktur verborgen liegt und erst durch eine Überarbeitung erkannt wird. (de)
  • In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem. Determining what is and is not a code smell is subjective, and varies by language, developer, and development methodology. The term was popularised by Kent Beck on WardsWiki in the late 1990s. Usage of the term increased after it was featured in the 1999 book Refactoring: Improving the Design of Existing Code by Martin Fowler. It is also a term used by agile programmers. (en)
  • En programación de computadores, la hediondez del código (code smell en inglés, o también conocido por código que huele o apesta) es cualquier síntoma en el código fuente de un programa que posiblemente indica un problema más profundo. Las hediondeces del código usualmente no son bug de programación (errores) -- no son técnicamente incorrectos y en realidad no impiden que el programa funcione correctamente. En cambio, indican deficiencias en el diseño de software que puede ralentizar el desarrollo o aumentan el riesgo de errores o fallos en el futuro. (es)
  • En génie logiciel, les code smells ou mauvaises odeurs peuvent être de mauvaises pratiques de conception logicielle qui conduisent à l’apparition de défauts. Ces défauts sont souvent issus de mauvais choix d’implantation ou de conception et conduisent à une complexification du code source et de la maintenance et évolutivité de celui‐ci. A la différence d'un AntiPattern, les code smells ne sont pas forcément des erreurs, c'est-à-dire qu'ils peuvent persister sans perspective d'évolution dans un logiciel. Afin de corriger un code smell, il est nécessaire de procéder à un réusinage du code source, c’est‐à‐dire modifier le code sans en altérer son comportement. (fr)
  • コードの臭い(こーどのにおい、英: Code smell)とは、コンピュータプログラミングにおいてプログラムのソースコードに深刻な問題が存在することを示す何らかの兆候のことを言う。 コードの臭いが示す深刻な問題は、小さく管理された手順でリファクタリングする短いフィードバックサイクルを廻し、それ以上のリファクタリングが必要なことを示すコードの臭いがないかどうか、設計を検査しなければならない。 リファクタリングを実施するプログラマの視点からは、コードの臭いはいつリファクタリングするか、どのリファクタリング手法を用いるか、発見するための方法である。すなわち、リファクタリングを後押しするものである。 「コードの臭い(code smell)」という呼び方は、ケント・ベックがWardsWikiで初めて用いたようである。マーチン・ファウラーの著書 Refactoring. Improving the Design of Existing Code で(邦訳)採り入れられたあと、様々なところで用いられるようになった。 何がコードの臭いで、何がそうでないかは主観的な判断であり、プログラミング言語、開発者や開発手法などによって異なる。 Java向けにはCheckstyle、PMD、FindBugsなどのツールがあり、ある種のコードの臭いを自動的にチェックすることができる。 (ja)
  • 코드 스멜(code smell←코드 냄새)은 컴퓨터 프로그래밍 코드에서 더 심오한 문제를 일으킬 가능성이 있는 프로그램 소스 코드의 특징을 가리킨다. 이 용어는 1990년대 말 켄트 벡과 워즈위키에 의해 고안된 것으로 보인다. 《Refactoring: Improving the Design of Existing Code》라는 책에서 특집으로 실리면서 이 용어의 이용이 늘어나게 되었다. 또, 코드 스멜은 애자일 프로그래머가 사용하는 용어이기도 하다. 무엇이 코드 스멜인지 아닌지의 여부를 결정하는 일은 주관적인 것으로 언어와 개발자, 개발 방법에 따라 다양하다. 자동으로 특정한 종류의 코드 스멜을 확인하기 위한 도구들이 있으며, 그 예로는 , , 등을 들 수 있다. (ko)
  • Zapachy kodu (ang. code smell) – określenie używane w programowaniu. Nazywa pewne cechy kodu źródłowego mówiące o złym sposobie implementacji i będące sygnałem do refaktoryzacji. (pl)
  • Nell'ingegneria del software, e in particolare nel contesto dello sviluppo agile e dell'extreme programming, l'espressione code smell (letteralmente "puzza del codice") viene usata per indicare una serie di caratteristiche che il codice sorgente può avere e che sono generalmente riconosciute come probabili indicazioni di un difetto di programmazione. I code smell non sono (e non rivelano) "bug", cioè veri e propri errori, bensì debolezze di progettazione che riducono la qualità del software, a prescindere dall'effettiva correttezza del suo funzionamento. Il code smell spesso è correlato alla presenza di debito tecnico e la sua individuazione è un comune metodo euristico usato dai programmatori come guida per l'attività di refactoring, ovvero l'esecuzione di azioni di ristrutturazione del codice volte a migliorarne la struttura, abbassandone la complessità senza modificarne le funzionalità. Nella letteratura sul refactoring esistono numerosi elenchi di code smell; il più noto e influente è quello proposto da Martin Fowler nel suo celebre libro sul refactoring. Sia nell'elenco di Fowler che in altri, i code smell non sono mai definiti in termini assoluti, e la loro identificazione comprende sempre un elemento di giudizio soggettivo da parte del programmatore. (it)
  • Programröta är inom programutvecklingsmetodik ett symptom i källkoden till ett program som antyder om bristfällig design eller . Den engelska termen är code smell. (sv)
  • Код із запашком (код з душком, код, що погано пахне англ. code smell) — термін, що позначає код з ознаками (запахами) проблем в системі. Був введений Кентом Беком і використаний Мартіном Фаулером в його книзі «Рефакторинг. Поліпшення існуючого коду», з тих пір активно використовується розробниками ПЗ. Запахи коду — це ключові ознаки необхідності рефакторингу. Існують запахи, специфічні як для парадигм програмування, так і для конкретних мов. Основною проблемою, з якою стикаються розробники при боротьбі з запахами коду, є те, що критерії своєчасності рефакторингу неможливо чітко формалізувати без апеляції до естетики і умовного почуття прекрасного. Запахи коду — це не набір чітких правил, а опис місць, на які потрібно звертати увагу при рефакторингу. Вони легко виявляються, але при цьому не у всіх випадках свідчать про проблеми. Код із запашком веде до розпаду коду, розробники повинні прагнути до усунення запашку шляхом застосування одноразового або багаторазового рефакторинга.У процесі рефакторингу відбувається позбавлення від запахів коду, що забезпечує можливість подальшого розвитку додатків з тією ж або більшою швидкістю. Відсутність регулярного рефакторинга з плином часу здатна повністю паралізувати проект, тому запахи коду необхідно усувати на ранніх стадіях.Існують інструменти пошуку та виправлення запахів коду, проте досвід показує, що ніякі системи показників не можуть змагатися з людською інтуїцією, основаною на інформації. Часто глибша проблема, вказана запахом коду, може бути розкрита, коли код піддається короткому циклу зворотного зв'язку, де вона перетворена в невеликі, керовані кроки, і отримана конструкція перевіряється, щоб побачити будь-які запахи коду, які можуть вказувати на необхідність більшого рефакторингу. З точки зору програміста, якому доручено виконувати рефакторинг, запах коду це евристичний алгоритм, який вказує, коли відбувався рефакторинг і які конкретні методи рефакторингу використовували. Таким чином, запах коду це наслідок рефакторингу. Але чому це відбувається? Дослідження 2015 року з використанням автоматизованого аналізу півмільйона комітів і ручного обстеження 9,164 комітів встановило, що: * Існує емпіричне підтвердження наслідків «технічного боргу», але існує лише непідтверджена інформація про те, як, коли і чому це відбувається. * «Здоровий глузд підказує, що невідкладні заходи з технічного обслуговування і тиск, а також встановлення пріоритетів на ринку для створення більш якісного коду — є причинами таких запахів». (uk)
  • 程序开发领域,代码中的任何可能导致深层次问题的症状都可以叫做代码异味(Code smell)。 通常,在对代码做简短的反馈迭代时,代码异味会暴露出一些深层次的问题,这里的反馈迭代,是指以一种小范围的、可控的方式重构代码。基于这些暴露的问题,人们会进一步的检查设计和代码中是否还存在别的代码异味,然后再做进一步的重构。从负责重构的开发者的角度来看,代码异味可以启发何时重构,如何重构。因此,可以说代码异味推动着重构的进行。 该术语似乎由肯特·贝克于90年代后期,在上首次使用。且自从在Refactoring. Improving the Design of Existing Code.被提到过,使用率就大大的提高。代码异味同时也是敏捷开发者常用的术语。 什么是,或者不是代码异味,是一个主观的判断,通常因语言、开发者、开发方法的不同而不同。对于Java开发语言,有些工具,比如Checkstyle、和 FindBugs可以自动检测一些代码异味。 (zh)
  • Код с запашко́м (код с душко́м, дурно пахнущий код англ. code smell) — термин, обозначающий код с признаками (запахами) проблем в системе. Был введён Кентом Беком и использован Мартином Фаулером в его книге Рефакторинг. Улучшение существующего кода. Запахи кода — это ключевые признаки необходимости рефакторинга. Существуют запахи, специфичные как для парадигм программирования, так и для конкретных языков. Основной проблемой, с которой сталкиваются разработчики при борьбе с запахами кода, является то, что критерии своевременности рефакторинга невозможно чётко формализовать без апелляции к эстетике и условному чувству прекрасного. Запахи кода — это не набор чётких правил, а описание мест, на которые нужно обращать внимание при рефакторинге. Они легко обнаруживаются, но при этом не во всех случаях свидетельствуют о проблемах. Код с запашком ведёт к распаду кода, разработчики должны стремиться к устранению запашков путём применения однократного или многократного рефакторинга.В процессе рефакторинга происходит избавление от запахов кода, что обеспечивает возможность дальнейшего развития приложения с той же или большей скоростью. Отсутствие регулярного рефакторинга с течением времени способно полностью парализовать проект, поэтому запахи кода необходимо устранять на ранних стадиях.Существуют инструменты поиска и исправления запахов кода, однако опыт показывает, что никакие системы показателей не могут соперничать с человеческой интуицией, основанной на информации. (ru)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 234034 (xsd:integer)
dbo:wikiPageLength
  • 11518 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1111603081 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
rdf:type
rdfs:comment
  • Za „pachy“ v kódu lze považovat jakýkoliv symptom v kódu, který ukazuje na hlubší problém. Tento problém často nelze vidět hned, ale může být odkryt, pokud je kód podroben důkladné analýze. (cs)
  • In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem. Determining what is and is not a code smell is subjective, and varies by language, developer, and development methodology. The term was popularised by Kent Beck on WardsWiki in the late 1990s. Usage of the term increased after it was featured in the 1999 book Refactoring: Improving the Design of Existing Code by Martin Fowler. It is also a term used by agile programmers. (en)
  • En programación de computadores, la hediondez del código (code smell en inglés, o también conocido por código que huele o apesta) es cualquier síntoma en el código fuente de un programa que posiblemente indica un problema más profundo. Las hediondeces del código usualmente no son bug de programación (errores) -- no son técnicamente incorrectos y en realidad no impiden que el programa funcione correctamente. En cambio, indican deficiencias en el diseño de software que puede ralentizar el desarrollo o aumentan el riesgo de errores o fallos en el futuro. (es)
  • En génie logiciel, les code smells ou mauvaises odeurs peuvent être de mauvaises pratiques de conception logicielle qui conduisent à l’apparition de défauts. Ces défauts sont souvent issus de mauvais choix d’implantation ou de conception et conduisent à une complexification du code source et de la maintenance et évolutivité de celui‐ci. A la différence d'un AntiPattern, les code smells ne sont pas forcément des erreurs, c'est-à-dire qu'ils peuvent persister sans perspective d'évolution dans un logiciel. Afin de corriger un code smell, il est nécessaire de procéder à un réusinage du code source, c’est‐à‐dire modifier le code sans en altérer son comportement. (fr)
  • コードの臭い(こーどのにおい、英: Code smell)とは、コンピュータプログラミングにおいてプログラムのソースコードに深刻な問題が存在することを示す何らかの兆候のことを言う。 コードの臭いが示す深刻な問題は、小さく管理された手順でリファクタリングする短いフィードバックサイクルを廻し、それ以上のリファクタリングが必要なことを示すコードの臭いがないかどうか、設計を検査しなければならない。 リファクタリングを実施するプログラマの視点からは、コードの臭いはいつリファクタリングするか、どのリファクタリング手法を用いるか、発見するための方法である。すなわち、リファクタリングを後押しするものである。 「コードの臭い(code smell)」という呼び方は、ケント・ベックがWardsWikiで初めて用いたようである。マーチン・ファウラーの著書 Refactoring. Improving the Design of Existing Code で(邦訳)採り入れられたあと、様々なところで用いられるようになった。 何がコードの臭いで、何がそうでないかは主観的な判断であり、プログラミング言語、開発者や開発手法などによって異なる。 Java向けにはCheckstyle、PMD、FindBugsなどのツールがあり、ある種のコードの臭いを自動的にチェックすることができる。 (ja)
  • 코드 스멜(code smell←코드 냄새)은 컴퓨터 프로그래밍 코드에서 더 심오한 문제를 일으킬 가능성이 있는 프로그램 소스 코드의 특징을 가리킨다. 이 용어는 1990년대 말 켄트 벡과 워즈위키에 의해 고안된 것으로 보인다. 《Refactoring: Improving the Design of Existing Code》라는 책에서 특집으로 실리면서 이 용어의 이용이 늘어나게 되었다. 또, 코드 스멜은 애자일 프로그래머가 사용하는 용어이기도 하다. 무엇이 코드 스멜인지 아닌지의 여부를 결정하는 일은 주관적인 것으로 언어와 개발자, 개발 방법에 따라 다양하다. 자동으로 특정한 종류의 코드 스멜을 확인하기 위한 도구들이 있으며, 그 예로는 , , 등을 들 수 있다. (ko)
  • Zapachy kodu (ang. code smell) – określenie używane w programowaniu. Nazywa pewne cechy kodu źródłowego mówiące o złym sposobie implementacji i będące sygnałem do refaktoryzacji. (pl)
  • Programröta är inom programutvecklingsmetodik ett symptom i källkoden till ett program som antyder om bristfällig design eller . Den engelska termen är code smell. (sv)
  • 程序开发领域,代码中的任何可能导致深层次问题的症状都可以叫做代码异味(Code smell)。 通常,在对代码做简短的反馈迭代时,代码异味会暴露出一些深层次的问题,这里的反馈迭代,是指以一种小范围的、可控的方式重构代码。基于这些暴露的问题,人们会进一步的检查设计和代码中是否还存在别的代码异味,然后再做进一步的重构。从负责重构的开发者的角度来看,代码异味可以启发何时重构,如何重构。因此,可以说代码异味推动着重构的进行。 该术语似乎由肯特·贝克于90年代后期,在上首次使用。且自从在Refactoring. Improving the Design of Existing Code.被提到过,使用率就大大的提高。代码异味同时也是敏捷开发者常用的术语。 什么是,或者不是代码异味,是一个主观的判断,通常因语言、开发者、开发方法的不同而不同。对于Java开发语言,有些工具,比如Checkstyle、和 FindBugs可以自动检测一些代码异味。 (zh)
  • رائحة الكود (بالإنجليزية: Code smell)‏ في علم الحاسوب : هي علامات وإشارات داخل الكود تدل على أن هناك خلل في التصميم وهي بحد ذاتها لا تعتبر خطأ برمجي، وربما نجد أكواد مليئة بهذه الروائح لكنها تعمل على ما يرام دون أي مشاكل. أحد الأمثلة الشهيرة على هذه الراوئح هي وجود دالة تحوي مئات الأسطر وربما تستقبل العديد من الوسائط، أو نجد كائن يقوم بعمل كل شيء God Object, أيضا كمثال آخر- دائما ما يقع فيه المطورين المبتدئين- هو وجود أجزاء مكررة في الكود. (ar)
  • Unter Code-Smell, kurz Smell (engl. ‚[schlechter] Geruch‘) oder deutsch übelriechender Code versteht man in der Programmierung ein Konstrukt, das eine Überarbeitung des Programm-Quelltextes nahelegt. Dem Vernehmen nach stammt die Metapher Smell von Kent Beck und erlangte weite Verbreitung durch das Buch Refactoring von Martin Fowler. Unter dem Begriff sollten handfestere Kriterien für Refactoring beschrieben werden, als das durch den vagen Hinweis auf Programmästhetik geschehen würde. (de)
  • Nell'ingegneria del software, e in particolare nel contesto dello sviluppo agile e dell'extreme programming, l'espressione code smell (letteralmente "puzza del codice") viene usata per indicare una serie di caratteristiche che il codice sorgente può avere e che sono generalmente riconosciute come probabili indicazioni di un difetto di programmazione. I code smell non sono (e non rivelano) "bug", cioè veri e propri errori, bensì debolezze di progettazione che riducono la qualità del software, a prescindere dall'effettiva correttezza del suo funzionamento. Il code smell spesso è correlato alla presenza di debito tecnico e la sua individuazione è un comune metodo euristico usato dai programmatori come guida per l'attività di refactoring, ovvero l'esecuzione di azioni di ristrutturazione del c (it)
  • Код с запашко́м (код с душко́м, дурно пахнущий код англ. code smell) — термин, обозначающий код с признаками (запахами) проблем в системе. Был введён Кентом Беком и использован Мартином Фаулером в его книге Рефакторинг. Улучшение существующего кода. (ru)
  • Код із запашком (код з душком, код, що погано пахне англ. code smell) — термін, що позначає код з ознаками (запахами) проблем в системі. Був введений Кентом Беком і використаний Мартіном Фаулером в його книзі «Рефакторинг. Поліпшення існуючого коду», з тих пір активно використовується розробниками ПЗ. Дослідження 2015 року з використанням автоматизованого аналізу півмільйона комітів і ручного обстеження 9,164 комітів встановило, що: (uk)
rdfs:label
  • رائحة الكود (ar)
  • Pachy v kódu (cs)
  • Code-Smell (de)
  • Hediondez del código (es)
  • Code smell (en)
  • Code smell (fr)
  • Code smell (it)
  • 코드 스멜 (ko)
  • コードの臭い (ja)
  • Zapachy kodu (pl)
  • Код с запашком (ru)
  • Programröta (sv)
  • Запахи коду (uk)
  • 代码异味 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:homepage
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License