코드 품질을 측정하는 유일한 척도 == 분당 내지르는 WTF 횟수!난관에 부딪힐 때 옳은 문 뒤에 있으려면 어떻게 해야 할까? → 답은 장인 정신이다.장인 정신을 익히는 과정은 2가지 단계1\. 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득2\. 열심히
프로그래머라서더 나은 프로그래머가 되려고코드를 최대한 다양한 각도에서 살펴본다.사방으로 돌리고 안팎으로 뒤집으며 꼼꼼히 따져본다.좋은 코드와 나쁜 코드를 구분하는 능력도 생긴다.좋은 코드를 작성하는 방법도 익힌다.나쁜 코드를 좋은 코드로 바꾸는 실력도 쌓인다.코드를 자
좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다.변수, 함수, 클래스의 이름은 아래 질문에 모두 답해야 한다.존재 이유수행 기능사용 방법 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워진다.위 코드는 하는 일을 짐작하기 어
서론 Setup과 Teardown 의도를 분명히 표현하는 함수를 어떻게 구현할 수 있는가? 함수에 어떤 속성을 부여해야 처음 읽는 사람이 프로그램 내부를 직관적으로 파악할 수 있는가? 작게 만들어라! 함수를 만드는 첫째 규칙은 ‘작게!’ 다. 함수를 만드는 둘째 규칙은 ‘더 작게!’ 다. 함수가 한 화면을 넘어가면 안된다. 가로 150자를 넘어서...
나쁜 코드에 주석을 달지 마라. 새로 짜라. 브라이언 W. 커니핸, P. J. 플라우거 서론 잘 달린 주석은 그 어떤 정보보다 유용하다. 경솔하고 근거 없는 주석은 코드를 이해하기 어렵게 만든다. 우리는 코드로 의도를 표현하지 못해, 그러니까 실패를 만회하기 위해
프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다. 코드 형식을 맞추기 위한 간단한 규칙을 정하고 그 규칙을 착실히 따라야 한다. 팀으로 일한다면 팀이 합의해 규칙을 정하고 모두가 그 규칙을 따라야 한다. 필요하다면 규칙을 자동으로 적용하는 도구를 활용한다.코드 형
클래스 체계 추상화 단계가 순차적으로 내려간다. 그래서 프로그램은 신문 기사처럼 읽힌다. 추상화단계 캡슐화 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다. 같은 패키지 안에서 테스트 코드가 함수를 호출하거나 변수를 사용