본인이 잘 이해했는지 확인하는 가장 정확한 방법은 가르쳐 보는 것!
클린코드 읽으며 뼈맞았던 내용 중 3가지 원칙 를 고르고, 원칙 따르는 예시 총 3가지를 만들어보세요.
// 원칙 1. 정확한 이름 쓰기
// Before 😣
const A = ["apple", "banana"]
const pushA = function(a) {
return A.push(a)
}
console.log(pushA("orange"))
// 무엇을 고치려고 하는지, 고치려는 문제가 무엇인지 알려주세요.
// 함수 이름을 통해 동작 내용을 유추할 수 없다.
// After 😎
const DB = ["apple", "banana"]
const addFruit = function(newFruit) {
return DB.push(newFruit)
}
console.log(addFruit("orange"))
// 어떻게 고쳤는지, 사례에서 무엇을 배워야 하는지 설명해주세요.
// 명확한 이름을 사용하도록 한다.
// 원칙 2. 오류보다는 예외 사용하기
// Before 😣
const convertToNumber = function(str) {
return Number(str)
}
console.log(convertToNumber("///"))
// 무엇을 고치려고 하는지, 고치려는 문제가 무엇인지 알려주세요.
// 함수를 실행했을 때 예외가 발생한다. 숫자로 변환할 수 없는 문자열이기 때문에, NaN이 출력될 것이다.
// After 😎
const convertToNumber = function(str) {
try {
let changeNumber = Number(str);
if (isNaN(changeNumber)){
throw new Error("숫자가 아닌 문자열입니다.")
}
console.log(`Number: ${changeNumber}`)
} catch (error) {
console.log(error.message)
} finally {
console.log(`String: ${str} --> Number: ${Number(str)}``)
}
}
// 어떻게 고쳤는지, 사례에서 무엇을 배워야 하는지 설명해주세요.
// 원칙 3. 코드를 깨끗하게 유지하고, 팀의 규칙을 따른다
// Before 😣
var a = [1,2,3]; function b(c) { return a.push(c); }
// 무엇을 고치려고 하는지, 고치려는 문제가 무엇인지 알려주세요.
// 함수를 한 줄에 다 기재하여 가독성이 떨어집니다.
// 변수의 의미가 모호합니다.
// After 😎
let DB = [1,2,3];
function makeNumberArr(number) {
return DB.push(number)
}
// 어떻게 고쳤는지, 사례에서 무엇을 배워야 하는지 설명해주세요.
// 변수의 가독성을 위해 여러줄로 나눠서 작성 및 적절한 들여쓰기
// 변수명을 통해 동작 내용을 유추할 수 있다.
'개발자 소양 독서 도전기 > 클린코드' 카테고리의 다른 글
3주간의 클린코드 도전기 (0) | 2024.05.24 |
---|---|
10장 클래스 (0) | 2024.05.21 |
클린코드 8장. 경계, 9장. 단위 테스트 (0) | 2024.05.18 |
7장. 오류처리 (1) | 2024.05.16 |
클린코드 6장 객체와 자료구조 (0) | 2024.05.13 |