경로 변수에 대한 모호한 이름 지정 방지
TL;DR: 코드를 더 잘 이해하려면 명확한 이름을 사용하세요.
단일 fileName 또는 directoryPath를 처리할 때 file 또는 dirName과 같은 모호한 이름은 혼란을 야기합니다.
이름의 경우 fileName, 디렉터리의 경우 directoryPath와 같은 명확한 이름은 각 변수의 역할을 전달합니다.
변수 파일의 이름을 지정하면 다른 사람이 용도를 혼동할 수 있습니다. 파일 객체를 저장합니까, 아니면 파일 이름만 저장합니까?
directoryName 대신 dirName 변수 이름을 지정하면 모호해집니다.
명확하고 설명적인 변수 이름은 특히 협업 환경에서 코드 가독성과 유지 관리성을 향상시킵니다.
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] 반자동
코드 처리 파일이나 file 또는 dirName과 같은 디렉터리 경로에서 일반 이름을 찾으세요.
[x] 초급
AI 모델은 특정 지침 없이 file 또는 dirName과 같은 모호한 이름을 기본값으로 사용할 수 있습니다.
설명적인 이름 지정 및 코드 추출 지침을 추가하면 AI의 출력이 향상될 수 있습니다.
AI 도구는 명확한 명명 규칙을 사용하고 중복 코드를 방지하라는 메시지가 표시되면 코드 추출을 제안하여 이 냄새를 해결할 수 있습니다.
기억하세요: AI 도우미는 실수를 많이 합니다
Without Proper Instructions | With Specific Instructions |
---|---|
ChatGPT | ChatGPT |
Claude | Claude |
Perplexity | Perplexity |
Copilot | Copilot |
Gemini | Gemini |
fileName 및 directoryPath와 같은 정확한 이름을 사용하고 재사용 가능한 메서드를 추출하면 코드 명확성과 유지 관리성이 향상됩니다.
이러한 간단한 방법은 중복을 줄이고 코드를 이해하기 쉽게 유지하는 데 도움이 됩니다.
코드 냄새는 제 생각입니다.
Unsplash의 Gabriel Heinzer 사진
코드는 사람이 먼저 읽고, 기계가 그 다음으로 읽을 수 있도록 작성되어야 합니다.
돈 라브스
이 글은 CodeSmell 시리즈의 일부입니다.
위 내용은 코드 냄새 - DirName 및 파일의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!