![]() |
Code Smells
Hallo DP-Mitglieder,
Ich habe ein kleinen Kurs über das Thema "Code Smells" für euch vorbereitet. Das Ziel dieses Kurses ist das Verstehen was "Code Smells" sind. Denn jeder Programmierer hat (unbewusst) solche in seinem Code. Theorie: Das Wort "Code Smells" was übersetzt "(schlechter) Geruch" heißt, stammt von ![]() ![]() Code Smells ist ein schlecht strukturierter Programmcode. Der Code ist für den oder einen anderen Programmierer schwer zu verstehen. Bei Verbesserungen oder Erweiterungen kommen neue Fehler dazu. "Code Smells" wird erst erkannt bei einer Überarbeitung des Programmcodes. Welche "Code Smells" existieren? Es gibt eine Unmenge von schlecht-struktierter Programmcode-Beispiele. Hier einige Beispiele die sich auf die objektorientierte Programmierung (Java, Delphi, ...) beziehen:
![]() Natürlich gibt es noch mehrere Arten und interessante Bücher die das Thema detaillierter beschreiben wie z.B das Buch : "Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code" von Robert C. Martin. Beispiele/Tipps:
Schlusswort: Kennt man einige Code-Smells, so kann man diese vermeiden, damit der Programmcode nicht "schlecht riecht". Ich hoffe ich könnte euch ein bisschen über dieses interessante Thema erzählen. Bitte um konstruktive Kritik. :) Danke bis Bald. Mfg Coffeecoder |
AW: Code Smells
Hallo Coffeecoder,
gefällt mir ganz gut, fällst bei deinem Beispiel dann über die eigenen Regeln. ich denke
Delphi-Quellcode:
hier ist ch auch nicht gerade ein aussagekräftiger Parameter, könnte auch ein Char oder so sein :-D
procedure anpassenChart(ch : TChart);
Begin end; Gruß MrOuzo |
AW: Code Smells
Außerdem wird hier als Parameter eine Zeichenkette übergeben:
Delphi-Quellcode:
laut Deklaration müsste es aber ein Objekt vom Typ TChart sein. Mir ist zwar klar, was du aussagen willst, aber trotzdem sollte es doch ein Beispiel sein, was zumindest compiliert.
anpassenChart('Chart'+IntToStr(i));
|
AW: Code Smells
Zitat:
Zitat:
Delphi-Quellcode:
Wobei das leider nicht immer der Fall ist -- ist mir neulich allein schon mal wieder bei der Format-Funktion aufgefallen.
procedure anpassenChart(AChart: TChart);
Begin end; Ansonsten muss ich sagen, dass das ein interessanter Einstieg sein kann :thumb: |
AW: Code Smells
Dazu fällt mir folgende Aussage von einem Bekannten ein: "Wieso? Ich weiss doch, dass die Soundsystem-Klasse bei mir Peter heisst" :-D
|
AW: Code Smells
Zitat:
|
AW: Code Smells
Wenn schon Verbesserung, dann bitte verwende keine With-Statements und rueck den Code richtig ein :)
|
AW: Code Smells
Zitat:
|
AW: Code Smells
Man sieht nicht mehr auf was sich das with bezieht. Und mitunter kommt der Compiler schon mal durcheinander und dann sucht man sich dumm und dusselig.
|
AW: Code Smells
Außerdem habe ich die Erfahrung gemacht das sich die nachfolgenden Variablen schlecht Debugen lassen.
Da Sie wegen Optimierung unterdrückt werden. PS: Und Zeilen sparrt man sich dadurch auch nicht wirklich. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz