Heim > Artikel > Web-Frontend > Code-Geruch – Hanlons Rasiermesser
Machen Sie es nicht zu kompliziert: Halten Sie es einfach
TL;DR: Übermäßiger Code führt zu unnötiger Komplexität.
Unnötige Komplexität
Verwirrende Logik
Versteckte Fehler
Schwierigere Wartung
Langsamere Leistung
Überladener Code
Überprüfungen vereinfachen
Vertrauen Sie Ihrer Logik
Konzentrieren Sie sich auf das Wesentliche
Folgen Sie dem K.I.S.S. Prinzip
Regelmäßig umgestalten
Übermäßiges Nachdenken und Überdesign Ihres Codes kann zu unnötiger Komplexität führen.
Möglicherweise müssen Sie sich gegen jedes mögliche Szenario verteidigen, aber dieser Ansatz führt oft zu aufgeblähtem, verwirrendem Code.
Hanlon's Razor legt nahe, dass Sie keine Bosheit annehmen sollten, wenn einfache Fehler oder Missverständnisse wahrscheinlicher sind.
Vermeiden Sie eine übermäßig defensive Programmierung und konzentrieren Sie sich auf eine klare, unkomplizierte Logik.
Sie könnten zukünftige Probleme vorhersehen, die möglicherweise nie auftreten, oder versuchen, Ihren Code zu flexibel zu gestalten.
Einfacher Code ist einfacher zu warten, zu debuggen und zu verstehen.
function processData(data) { if (typeof data === 'undefined') { throw new Error('Data is undefined'); } if (typeof data !== 'object') { throw new Error('Data is not an object'); } if (data === null) { throw new Error('Data is null'); } if (Array.isArray(data)) { throw new Error('Data should not be an array'); } if (!data.hasOwnProperty('items')) { return []; } if (!Array.isArray(data.items)) { throw new Error('Items should be an array'); } if (data.items.length === 0) { return []; } let processedItems = []; for (let item of data.items) { if (typeof item === 'undefined') { continue; // Skip undefined items } if (typeof item !== 'object') { continue; // Skip non-object items } if (item === null) { continue; // Skip null items } processedItems.push(processItem(item)); } return processedItems; }
function processData(data) { if (!Array.isArray(data.items)) { throw new Error('Invalid data'); } return data.items .filter(item => typeof item === 'object' && item !== null) .map(item => processItem(item)); }
[X] Handbuch
Komplizierter Code hat normalerweise mehr Zeilen und lange Methoden sind ein möglicher Hinweis.
[x] Mittelstufe
KI-Generatoren können diesen Geruch hervorrufen, wenn sie versuchen, jeden möglichen Randfall zu berücksichtigen.
Der Umgang mit NULL-Werten ist beispielsweise unnötig, wenn Sie sie vollständig vermeiden.
KI-Tools können dabei helfen, übermäßig defensiven Code zu erkennen, indem sie die Logik analysieren und mit der richtigen Anleitung Vereinfachungen vorschlagen.
Diese Tools empfehlen oft, unnötige Prüfungen zu entfernen oder sie aus Gründen der Übersichtlichkeit zu kombinieren.
Vermeiden Sie übermäßiges Nachdenken und Übergestalten Ihres Codes.
Konzentrieren Sie sich auf die wahrscheinlichsten Szenarien und schreiben Sie eine klare, unkomplizierte Logik.
Einfachheit führt zu besserer Codequalität und einfacherer Wartung.
Wikipedia
Defensive Programmierung
Code Smells sind meine Meinung.
Foto von Nacho Fernández auf Unsplash
Einfachheit ist die ultimative Raffinesse.
Leonardo da Vinci
Dieser Artikel ist Teil der CodeSmell-Reihe.
Das obige ist der detaillierte Inhalt vonCode-Geruch – Hanlons Rasiermesser. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!