ryanmcdermott/clean-code-javascript는 이름 그대로 Clean Code의 원칙을 JavaScript 예제로 옮긴 저장소다. 하지만 이 repo를 단순한 요약 문서로 읽으면 재미가 줄어든다. README는 초반부터 이 문서가 style guide가 아니라고 말한다. 들여쓰기나 포맷 취향을 맞추는 문서가 아니라, JavaScript 코드를 readable, reusable, refactorable하게 만들기 위한 판단 기준을 모아둔 쪽에 가깝다.
가장 좋은 부분은 예제가 작다는 점이다. `yyyymmdstr`를 `currentDate`로 바꾸는 변수명, `86400000` 같은 숫자를 `MILLISECONDS_PER_DAY`라는 검색 가능한 상수로 끌어올리는 방식, `createMenu(title, body, buttonText, cancellable)` 대신 객체 destructuring으로 인자를 받는 함수 시그니처가 나온다. 화려한 아키텍처보다 매일 리뷰에서 마주치는 피로를 줄이는 예제들이다.
이 repo는 원칙을 절대화하지도 않는다. README는 모든 원칙을 엄격히 지킬 필요가 없고, 모두가 동의할 수도 없다고 분명히 말한다. 그럼에도 함수는 한 가지 일만 해야 하며, 함수 안에서 추상화 레벨을 섞지 말아야 하고, 중복 제거를 하더라도 나쁜 추상화는 피해야 한다는 기준을 제시한다. 강한 주장과 유연한 적용 사이의 거리가 이 문서의 장점이다.
JavaScript 팀에서 포맷터와 linter는 많은 문제를 자동으로 해결한다. 하지만 이름이 왜 헷갈리는지, 함수 책임이 왜 넓은지, 인자가 왜 테스트 케이스를 폭발시키는지는 자동 수정만으로 끝나지 않는다. clean-code-javascript는 그런 대화를 할 때 감정 대신 비교 가능한 before/after를 제공한다.
그래서 이 저장소의 가치는 새 문법을 배우는 데보다 팀의 코드 리뷰 언어를 맞추는 데 있다. 2026년에도 rank 17, 하루 11 stars를 얻는 이유는 유행을 탔기 때문만은 아니다. 이미 알고 있다고 생각한 JavaScript를 다시 읽게 만들고, 다음 사람이 덜 힘들게 이해할 수 있는 형태로 다듬게 만든다는 점이 오래 남는다.