Reading Book

    [Clean Code]클린코드_4_주석

    잘 달린 주석은 그 어떤 정보보다 유용하다. 경솔하고 근거없는 주석은 코드를 이해하기 어렵게 만든다. 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을 미친다. 사실상주석은 기껏해야 필요악이다. 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 전혀 필요하지 않을 것이다. 우리는 코드로 의도를 표현하지 못해, 그러니까 "실패"를 만회하기 위해 주석을 사용한다. 주석은 언제나 실패를 의미한다. 때때로 주석없이는 자신을 표현할 방법을 찾지 못해 할 수 없이 주석을 사용한다. 프로그래머들이 주석을 엄격하게 관리해야 한다고, 그래서 복구성과 관련성과 정확성이 언제나 높아야 한다고 주장할지도 모르겠다. 하지만 차라리 코드를 깔끔하게 정리하고 표현력을 강화하는 방향으로, 그래..

    [Clean Code]클린코드_3_함수

    함수를 만드는 규칙은 다음과 같다. [ 작게 만들어라 ] 함수는 작을 수록 더 좋다. 이에 대한 정확한 근거나 자료를 제시하기 어렵지만 많은 프로그래머들이 개발을 하며 오래 시행착오 끝에 작은 함수가 좋다고 생각한다고 한다. if/else문 , while문 등에 들어가는 블록은 한 줄이어야 한다. 대게 여기서 함수를 호출한다. 이 말은 중첩 구조가 생길 만큼 함수가 커져서는 안 된다는 뜻이다. 그래야 함수를 읽고 이해하기 쉬워진다. ( switch문은 기본적으로 작게 만들기가 어렵다. switch문을 완전히 피할 방법은 없다..) [ 한 가지만 해라 ] 함수는 한 가지를 해야한다. 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 하는 것이다. 함수가 확실히 '..

    [Clean Code]클린코드_2_의미있는 이름

    프로그래머가 많은 고민을 하는 부분이 바로 이름을 붙이는 것이다. 우리는 변수에도 이름을 붙이고, 함수에도 이름을 붙이고, 인수와 클래스와 패키지에도 이름을 붙이다. 소스파일에도 이름을 붙이고, 소스 파일이 담긴 디렉토리에도 이름을 붙인다. 이처럼 이름을 붙이는 일이 많으므로 이름을 잘 지으면 가독성도 높아지고 용도도 쉽게 파악이 가능해 이름을 잘 짓는 것이 중요하다. 우리들 대다수는 자신이 짠 클래스 이름과 메서드 이름을 모두 암기하지 못한다. 암기는 요즘 나오는 도구에게 맡기고, 우리는 문장이나 문단처럼 읽히는 코드 아미녀 적어도 표나 자료 구조 처럼 읽히는 코드를 짜는 데만 집중해야 한다. 다음에 소개한 규칙 몇 개만 적용해도 코드 가독성이 높아지는것을 확인할 수 있을 것이다. [ 의도를 분명히 밝..

    [Clean Code]클린코드_1_깨끗한 코드

    #깨끗한 코드를 짜야하는 이유 나쁜 코드는 개발 속도를 크게 떨어트린다. 예를 들어 2-3년 넘게 남들이 짜 놓은 나쁜 코드(가독성이 안 좋거나 등등)를 이어받아 프로그램을 짜는 경우 얽히고설킨 코드를 '해독'하는 데에만 시간이 많이 소비될 것이다. 또한 나쁜 코드는 팀 생산성을 떨어트린다. 이를 해결하고자 재설계를 한다고 해도 거기에 따른 시간과 비용이 또 상당할 것이다. 따라서 언제나 코드를 최대한 깨끗하게 유지하는 습관이 중요하다. [ 보이스카우트 규칙 ] 미국 보이스카우트가 따르는 간단한 규칙이 있다. "캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라." 마찬가지로 체크아웃할 때보다 좀 더 깨끗한 코드를 체크인한다면 코드는 절대 나빠지지 않고 시간이 지날수록 코드가 좋아질 것 이다.