"좋은"의 정의는 광범위하고 주관적이다.
"이건 저에게 좋은 코드인데요?"
-어느 철없는 개발자-
그럴 수 있다. "좋은"의 정답은 없다.
누군가는 1줄로 끝나는 코드가 좋다면
누군가는 가독성이 좋은 코드를 선호 한다.
// 가독성을 챙겨봤다
function getEvenSquaresOne(numbers) {
const evens = numbers.filter(num => num % 2 === 0);
const squares = evens.map(num => num * num);
return squares;
}
// 코드는 짧은 것이 좋다
const getEvenSquaresTwo = numbers => numbers.filter(n => n % 2 === 0).map(n => n * n);
그렇지만 적어도 이글을 읽고 있는 사람들이라면
위의 답변이 정답에 가깝지 않다는 것을 알고 온 (예비)개발자들이다.
그렇다면 정답에 "가까운" 코드는 무엇일까?
Robert.C.Martin의 대표 저서 Clean Code에서 클린 코드를 설명해준다.
그리고 위의 책을 바탕으로 내가 내린 정의는 "잘 읽히는 코드" 가 클린 코드라고 생각한다
테스트가 용이한 코드, 중복이 적은 코드, 유지보수가 용이한 코드 등 모두 클린코드에 해당하지만
핵심 포인트가 있다면 가독성 이다
"코드도 결국 언어이다."
2015년에 쓰인 짤이던데 그럼 도대체 원본은 언제 쓰여진거지
그리고 언제 해석되는거지 (ㅋㅋㅋㅋㅋㅋ)
글을 끔찍하게 쓰면 답답해지기 마련이고
이는 코드도 마찬가지이다.
그래서 핵심이 "가독성"에 있다고 결론 내렸다.
컴퓨터와 소통하기 위한 언어
다른 개발자와 소통하기 위한 언어
그리고 미래의 나와 소통하기 위한 언어
그러니 "읽기 좋은 코드"가 "좋은 코드"라고 생각한다.
아래와 같은 상황을 줄이고 싶다면 우리 모두 클린한 코드를 쓰도록 노력합시다.

이렇듯 많은 방법들이 있지만 많은 개발자들이 강조한 5개만 적어보았다.
“좋은 코드는 읽기 쉽고 유지보수가 쉬운 코드라고 생각합니다. 팀원이 코드를 처음 봤을 때 의도를 빠르게 이해할 수 있어야 하고, 변경 사항이 생겨도 최소한의 수정으로 대응할 수 있어야 합니다. 예를 들어, 한 줄로 끝낼 수 있는 복잡한 map 체인보다, 변수로 나누어 의미를 드러내는 코드가 협업에선 더 좋은 코드라고 생각합니다.”
핵심 본질은 가독성 + (좋은 코드 특징 1 more) 하면 좋은 답변이될거라고
예비 개발자는 넘겨 짚어봅니다.

아무것도 쓰지 않는다면 그것 또한 cleancode
(이런 개발자가 되지 않도록 합시다)