의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 많이 걸리지만, 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 이름은 대상의 존재 이유, 수행 기능, 사용 방법을 드러내야 한다. 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. 단순히 이름만 고쳐도 함수가 하는 일을 이해하기 쉽다. 그릇된 정보를 피하라 그릇된 단서를 남기지 않는다. 널리 쓰이는 의미가 있는 단어를 사용하지 않는다. 예시 1 ) 직각삼각형의 빗변(hypotenuse)을 구현할 때 변수명 hp는 적당하지 않다. 유닉스 플랫폼을 가리키는 이름이기 때문이다. 그룹으로 묶은 의미를 사용할 때, 실제 List를 사용하지 않았다면 accountList와 같이 명명하지 않는다. 실제 List가 아니라면 프로그래머에게 그릇된 정보를 제공하는..
Book/Clean Code
로버트 C. 마틴의 "클린 코드"를 읽고 정리하고 생각하는 시리즈 나쁜 코드 …우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다... 나중은 결코 오지 않는다. Clean Code, 4p 나쁜 코드의 악순환 나쁜 코드는 생산성을 떨어트린다. 코드를 고칠 때마다 매번 복잡한 코드를 다시 해독하고 수정해야 한다. 시간은 한정되어 있고 개발은 해야 하기에, 나쁜 코드 위에 나쁜 코드가 쌓이는 악순환이 생긴다. 생산성이 떨어지면 관리층은 나름대로 복구를 시작한다. 프로젝트에 인력을 추가로 투입하는 것이다. 하지만 새 인력은 시스템 설계에 대한 조예가 깊지 않아 나쁜 ..