이 포스팅은 타입스크립트를 위한 클린코드 를 참고하여 공부할 목적으로 작성 된 포스팅입니다.
해당 링크에 꼭 들어가보시길 추천합니다.
Robert C. Martin의 책인 클린 코드에 있는 소프트웨어 공학 방법론을 타입스크립트에 적용한 글입니다.
이 글은 스타일 가이드가 아닙니다. 이 글은 타입스크립트에서 읽기 쉽고, 재사용 가능하며,
리팩토링 가능한 소프트웨어를 작성하기 위한 가이드입니다.
여기 있는 모든 규칙을 엄격하게 따를 필요는 없으며, 보편적으로 통용되는 규칙은 아닙니다.
이 글은 하나의 지침일 뿐이며, 클린 코드의 저자가 수년간 경험한 내용을 바탕으로 정리한 것입니다.
소프트웨어 공학 기술의 역사는 50년이 조금 넘었고, 배워야 할 것이 여전히 많습니다.
소프트웨어 설계가 건축 설계만큼 오래되었을 때는 아마도 아래 규칙들보다 엄격한 규칙을 따라야 할 것입니다.
하지만 지금은 이 지침을 당신과 당신 팀이 작성하는 타입스크립트 코드의 품질을 평가하는 기준으로 삼으세요.
한 가지 더 말씀드리자면, 이 규칙들을 알게 된다 해서 당장 더 나은 개발자가 되는 것은 아니며
코드를 작성할 때 실수를 하지 않게 해주는 것은 아닙니다.
잦은 검토가 최종의 결과물로 빚어지는 것처럼 모든 코드들도 처음 작성한 코드로 시작됩니다.
결국은 동료들과 리뷰하면서 결점이 제거됩니다. 당신이 처음 작성한 코드에 개선이 필요할 때 자책하지 마세요.
대신 코드가 더 나아지도록 두들기세요!
읽는 사람으로 하여금 변수마다 어떤 점이 다른지 알 수 있도록 이름을 구별하세요
Bad
:
good
:
발음할 수 없는 이름은 그 변수에 대해서 동료들과 토론할 수 밖에 없습니다
Bad
:
good
:
Bad
:
good
:
코드를 쓸 때보다 읽을 때가 더 많기 때문에 우리가 쓰는 코드는 읽을 수 있고 검색이 가능해야 합니다.
프로그램을 이해할 때 의미있는 변수 이름을 짓지 않으면 읽는 사람으로 하여금 어려움을 줄 수 있습니다.
검색 가능한 이름을 지으세요.
TSLint와 같은 도구는 이름이 없는 상수를 식별할 수 있도록 도와줍니다.
Bad
:
good
:
Bad
:
good
:
명시적인 것이 암시적인 것보다 좋습니다.
명료함은 최고입니다.
Bad
:
good
:
클래스/타입/객체의 이름에 의미가 담겨있다면, 변수 이름에서 반복하지 마세요.
Bad
:
good
:
기본 매개변수는 short circuiting보다 보통 명료합니다.
Bad
:
good
:
예를 들어 그것들의 값 자체보다 값이 구별되어야 할 때와 같이 코드의 의도를 알려주는데에 enum은 도움을 줄 수 있습니다.
Bad
:
good
: