CleanCode

    CleanCode - 6. 객체와 자료 구조

    6장. 객체와 자료 구조6장은 객체와 자료 구조에 대한 개념과 비교, 추상화에 대한 내용을 다룬다. 클래스를 구현할 때 변수의 접근 제어자를 private로 설정해 외부에서 직접 접근하지 못하도록 막는다. 그리고 이를 getter/setter로 접근하도록 구현하는 경우가 있는데, 이러한 부분에 대한 의문과 해결 방안을 이야기한다.  자료 추상화클래스 혹은 인터페이스의 자료를 세세히 공개하는 것보다 추상적으로 정의함으로써 내부를 숨겨야 한다는 내용이다. 예를 들어, 구체적인 아래 코드보다public class Point { public double X; public double Y;} 추상적인 아래 코드가 낫다.public interface Point { double getX(); d..

    CleanCode - 5. 형식 맞추기

    5장. 형식 맞추기 5장 형식 맞추기는 규칙과 형식에 맞게 코드를 작성해야 하는 이유와 유형에 대해 설명한다. 형식을 맞추는 목적 코드 형식은 매우 중요하다는 주장과 이에 대해 설명을 시작하기 위한 서론 내용이다. 세로 형식 맞추기 적절한 행의 길이를 유지하라. 일반적으로 큰 파일보다 작은 파일이 이해하기 쉽고 작은 파일들 만으로도 Jnut, Tomcat 등을 만들 수 있다는 것을 보여준다. (책에선 Junit, FitNesse, testNG, Time and Money, JDepend, Ant, Tomcat의 파일 길이를 조사해 평균을 냈다.) 신문 기사처럼 작성하라. 최상단에 제목, 첫 문단엔 요약, 세세한 사실은 아래 적는 기사와 같이 소스 파일도 이러한 형식을 따라야 한다고 주장한다. 소스 파일 ..

    CleanCode - 4. 주석

    4장. 주석 4장에선 주석에 대한 의견, 좋은 주석과 나쁜 주석에 대해 설명한다. 주석은 실패를 만회하기 위해 사용한다. 주석은 기껏해야 필요악이다. 주석은 너무 자주 거짓말을 한다. 부정확한 주석은 아예 없는 주석보다 더 나쁘다. 위의 내용은 책 내용의 일부인데 주석을 좋아하지 않는 것처럼 보인다. 그 이유를 알아보자. 주석은 나쁜 코드를 보완하지 못한다 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이며 주석을 다는 것이 아니라 코드를 정리해야 한다고 한다. 코드로 의도를 표현하라! 주석으로 의도를 표현하는 경우 // 직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if ((employee.flags && HOURLY_FLAG)) && (employee.age > 65) 코드로 의..

    CleanCode - 3. 함수

    3장. 함수 3장에선 함수를 읽기 쉽고 이해하기 쉽게, 의도를 분명하게 표현하게, 직관적으로 내부를 파악할 수 있게 구현하는 방법을 설명한다. 작게 만들어라! 작가의 경험과 시행착오에 의하면 함수는 최대한 작게 만들어야 하며 20줄도 길다고 한다. 블록: 함수가 작을수록 코드 이해가 쉬워지기에 if문 / else문 / while문 등에 들어가는 블록은 한 줄이어야 한다. 들여 쓰기 : 1단 or 2단을 넘어서면 안 된다. 한 가지만 해라! 함수는 한 가지 작업만 해야 한다고 한다. 여기서 '한 가지'의 기준은 추상화 수준으로, 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한다는 것이다. 이를 확인하는 다른 방법으로 함수 내에서 의미 있는 이름으로 다른 함수를 추출..

    CleanCode - 1. 깨끗한 코드, 2. 의미 있는 이름

    요즘 계속해서 클린 코드에 대해 고민하고 있다. 깨끗한 코드와 깨끗하지 않은 코드의 차이점이 무엇인지, 어떤 코드가 깨끗한 코드인지, 깨끗한 코드를 구현하려면 어떻게 해야 하는지 등을 계속 생각하다가 이를 확립하기 위해 CleanCode 책을 구매했다. CleanCode를 읽고 보기에 주요한 내용을 간단히 정리하고 개인적인 생각을 작성할 계획이다. 1장. 깨끗한 코드 Cleancode의 1장. 깨끗한 코드에선 좋은 코드를 작성해야 하는 이유, 나쁜 코드를 작성했을 때 문제점, 깨끗한 코드의 정의 등을 다룬다. 나쁜 코드 나쁜 코드란 무엇일까? CleanCode에선 나쁜 코드를 여러 비유에 빗대는데, 그중 가장 인상 깊었던 것은 '돌아가는 쓰레기'다. 나중에 정리하겠다고 다짐하지만 그 나중은 오지 않는다는..