Vermeiden Sie mehrdeutige Benennungen für Pfadvariablen
TL;DR: Verwenden Sie klare Namen, um den Code besser zu verstehen.
Beim Umgang mit einem einzelnen Dateinamen oder Verzeichnispfad sorgen vage Namen wie Datei oder Verzeichnisname für Verwirrung.
Eindeutige Namen wie fileName für Namen und directoryPath für Verzeichnisse kommunizieren die Rolle jeder Variablen.
Wenn Sie einer Variablendatei einen Namen geben, kann dies andere über ihren Zweck verwirren. Speichert es ein Dateiobjekt oder nur den Dateinamen?
Wenn Sie eine Variable dirName statt „directoryName“ benennen, führt dies zu Mehrdeutigkeiten.
Klare und beschreibende Variablennamen verbessern die Lesbarkeit und Wartbarkeit des Codes, insbesondere in kollaborativen Umgebungen.
function importBoardGameScores(file) { if (file) { const data = fs.readFileSync(file, 'utf-8'); // Process board game scores... } } function importDirectoryScores(dirName) { // 'dir' is an abbreviation const files = fs.readdirSync(dirName); files.forEach(file => { const data = fs.readFileSync(`${dirName}/${file}`, 'utf-8'); // Process each file's board game scores... }); } }
function importBoardGameScores(fileName) { if (fileName) { const data = fs.readFileSync(fileName, 'utf-8'); // Process board game scores... } } function importDirectoryBoardGamesScores(directoryPath) { const fileNames = fs.readdirSync(directoryPath); // Note the variable holding filenames // and not files fileNames.forEach(filename => { const fullPath = path.join(directoryPath, filename); const scores = importBoardGameScores(fullPath); allScores.push(scores); }); return allScores.flat(); // You can also reify the concept of a filename // And avoid repeating the rules everywhere class Filename { value; constructor(value) { this.validateFilename(value); this.value = value; } validateFilename(value) { const invalidCharacters = /[<>:"/\|?*\x00-\x1F]/g; if (invalidCharacters.test(value)) { throw new Error ('Filename contains invalid characters'); } if (/^[. ]+$/.test(value)) { throw new Error ('Filename cannot consist only of dots or spaces'); } if (value.length > 255) { throw new Error ('Filename is too long'); } } toString() { return this.value; } get value() { return this.value; } }
[X] Halbautomatisch
Suchen Sie im Code, der Dateien oder Verzeichnispfade verarbeitet, nach generischen Namen wie Datei oder dirName.
[x] Anfänger
KI-Modelle verwenden möglicherweise standardmäßig mehrdeutige Namen wie Datei oder Verzeichnisname ohne spezifische Anweisungen.
Das Hinzufügen beschreibender Benennungs- und Code-Extraktionsrichtlinien kann die Ausgabe der KI verbessern.
KI-Tools können diesen Geruch beheben, indem sie klare Namenskonventionen verwenden und bei Aufforderung eine Codeextraktion vorschlagen, um redundanten Code zu vermeiden.
Denken Sie daran: KI-Assistenten machen viele Fehler
Without Proper Instructions | With Specific Instructions |
---|---|
ChatGPT | ChatGPT |
Claude | Claude |
Perplexity | Perplexity |
Copilot | Copilot |
Gemini | Gemini |
Durch die Verwendung präziser Namen wie Dateiname und Verzeichnispfad und das Extrahieren wiederverwendbarer Methoden verbessern Sie die Klarheit und Wartbarkeit des Codes.
Diese einfachen Vorgehensweisen tragen dazu bei, Redundanz zu reduzieren und Ihren Code verständlich zu halten.
Code Smells sind meine Meinung.
Foto von Gabriel Heinzer auf Unsplash
Code sollte so geschrieben werden, dass er zuerst von Menschen und dann von Maschinen gelesen werden kann.
Don Laabs
Dieser Artikel ist Teil der CodeSmell-Reihe.
Das obige ist der detaillierte Inhalt vonCode Smell – DirName und File. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!