Code smells

Code smells

Unter Smell (von engl. "schlechter Geruch") versteht man in der Programmierung ein Konstrukt, das auf ein Problem hinweist und eine Überarbeitung des Programm-Quelltextes nahelegt. Ein Smell muss nicht unbedingt ein Fehler sein, das fragliche Konstrukt kann auch bewusst eingesetzt worden sein. In solchen Fällen sollte aber ein Kommentar darauf hinweisen. Dem Vernehmen nach stammt der Begriff Smell von Kent Beck.

Wichtige bekannte Smells sind:

Neben den von Beck und Fowler adressierten Smells im Quelltext von Anwendungen treten Smells auch in der Architektur von Softwaresystemen auf. Diese wurden von Stefan Roock und Martin Lippert beschrieben.

Zu den Architektur-Smells zählen unter Anderem:

  • Zyklische Benutzungsbeziehungen zwischen Paketen, Schichten und Subsystemen
  • Größe und Aufteilung der Pakete oder Subsysteme

Literatur

  • Martin Fowler: Refactoring. Wie Sie das Design vorhandener Software verbessern. Addison-Wesley, München 2000 (Originaltitel: Refactoring. Improving The Design Of Existing Code, übersetzt von Bernd Kahlbrandt), ISBN 3-8273-1630-8, S. 67–82. 

Weblinks

  • Code Smell (empros Gmbh) Überblick über Smells mit (teilweise unüblichen) eingedeutschten Namen.
  • Refactoring Eine Überblicksarbeit, die im Abschnitt 2.3 unter dem Titel "Bad Smells" einige wichtige Smells erklärt.

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Code smell — In computer programming, code smell is any symptom in the source code of a program that possibly indicates a deeper problem. Often the deeper problem hinted by a code smell can be uncovered when the code is subjected to a short feedback cycle… …   Wikipedia

  • Code-Duplikation — Als Code Duplizierung (code duplication) wird in der Informatik das Auftreten der gleichen Codestruktur an mehreren Stellen im Programmcode bezeichnet. Duplizierter Code entsteht gewöhnlich durch Kopieren vorhandener Programmteile und gilt als… …   Deutsch Wikipedia

  • Code-Duplizierung — Als Code Duplizierung (code duplication) wird in der Informatik das Auftreten der gleichen Codestruktur an mehreren Stellen im Programmcode bezeichnet. Duplizierter Code entsteht gewöhnlich durch Kopieren vorhandener Programmteile und gilt als… …   Deutsch Wikipedia

  • Code duplication — Als Code Duplizierung (code duplication) wird in der Informatik das Auftreten der gleichen Codestruktur an mehreren Stellen im Programmcode bezeichnet. Duplizierter Code entsteht gewöhnlich durch Kopieren vorhandener Programmteile und gilt als… …   Deutsch Wikipedia

  • Code smell — Unter Smell (von engl. schlechter Geruch ) versteht man in der Programmierung ein Konstrukt, das auf ein Problem hinweist und eine Überarbeitung des Programm Quelltextes nahelegt. Ein Smell muss nicht unbedingt ein Fehler sein, das fragliche… …   Deutsch Wikipedia

  • Code refactoring — Refactor redirects here. For the use of refactor on Wikipedia, see Wikipedia:Refactoring talk pages. Code refactoring is disciplined technique for restructuring an existing body of code, altering its internal structure without changing its… …   Wikipedia

  • Statische Code-Analyse — oder kurz statische Analyse ist ein statisches Software Testverfahren. Der Quelltext wird hierbei einer Reihe formaler Prüfungen unterzogen, bei denen bestimmte Sorten von Fehlern entdeckt werden können, noch bevor die entsprechende Software… …   Deutsch Wikipedia

  • Anti-pattern — (deutsch: Antimuster) bezeichnet in der Softwareentwicklung einen häufig anzutreffenden schlechten Lösungsansatz für ein bestimmtes Problem. Es bildet damit das Gegenstück zu den Mustern (Entwurfsmuster, Analysemuster, Architekturmuster...),… …   Deutsch Wikipedia

  • Antimuster — Anti Pattern (deutsch: Antimuster) bezeichnet in der Softwareentwicklung einen häufig anzutreffenden schlechten Lösungsansatz für ein bestimmtes Problem. Es bildet damit das Gegenstück zu den Mustern (Entwurfsmuster, Analysemuster,… …   Deutsch Wikipedia

  • Antipattern — Anti Pattern (deutsch: Antimuster) bezeichnet in der Softwareentwicklung einen häufig anzutreffenden schlechten Lösungsansatz für ein bestimmtes Problem. Es bildet damit das Gegenstück zu den Mustern (Entwurfsmuster, Analysemuster,… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”