[CleanCode]6장 객체와 자료구조 ▷ 6. 객체와 자료구조 자료 추상화 public class Point { public double x; public double y; } public interface Point { double getX(); double getY(); void setCartesian(double x, double y); double getR(); double getTheta(); void setPolar(double r, double theta) } 위 코드는 구현을 외부로 노출하고 아래는 구현을 완전히 숨긴다. 아래 코드는 자료 구조의 이상을 표현한다. 위 코드에서 구현을 감추려면 추상화가 필요하다. 그저 조회 함수와 설정 함수(게터, 세터)로 변수를 다룬다고 클래스가 되지는 않는다. public interface .. BackEnd/CleanCode 3년 전
[CleanCode]4, 5장 주석 / 형식 맞추기 ▷ 4. 주석 들어가며 잘 달린 주석은 그 어떤 정보보다 유용하다. 하지만 근거 없고 경솔한 주석은 코드를 이해하기 어렵게 만든다. 우리는 코드로 의도를 표현하지 못해, 즉 실패를 만회하기 위해 주석을 사용한다. 주석은 오래될수록 코드에서 멀어진다. 주석을 유지보수하기란 현실적으로 쉽지 않다. 코드로 의도를 표현하라. // 직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if ((employee.flags && HOURLY_FLAG)) && (employ.age > 65) {} if (employee.isEligibleForFullBenefits()) {} 몇 초만 더 생각하면 아래 코드처럼 의도를 명확하게 드러낼 수 있다. 좋은 주석 법적인 주석 결과를 경고하는 주석 - 아래 코드는 정적 초기화 함.. BackEnd/CleanCode 3년 전
[CleanCode]3장 함수 ▷ 3. 함수 작게 만들어라! 함수를 만드는 첫 번째 규칙은 '작게!'다. 함수를 만드는 두 번째 규칙은 '더 작게!'다. 함수는 100줄을 넘어서는 안 된다. 아니 20줄도 길다. 다시 말해 if, else, while문 등에 들어가는 블록은 한 줄이어야 한다는 의미이다. 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안된다. 그래야 함수는 읽고 이해하기 쉬워진다. 한 가지만 해라! 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다 . 그 한 가지만을 해야 한다. public static String RenderPageWithSetupAndTeardowns( PagaData pagaData, boolean isSuite) throws Exception { if (isTestPage(page.. BackEnd/CleanCode 3년 전
[CleanCode]1, 2장 깨끗한 코드 / 의미있는 이름 ▷ 1. 깨끗한 코드 코드란? 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이 프로그래밍이며 이렇게 명시한 결과가 코드이다. 깨끗한 코드란? 1. 비야네 스트롭스트룹 우아하고 효율적인 코드, 논리가 간단해야 버그가 숨어들지 못하며 의존성을 최대한 줄여야 유지보수가 쉬워진다. 오류는 명백한 전략에 의거해 철저히 처리한다. 성능을 최적으로 유지해야 사람들이 원칙없는 최적화로 코드를 망치려는 유혹에 빠지지 않는다. 깨끗한 코드는 한 가지를 제대로 해야한다. 2. 그래디 부치 단순하고 직접적이다. 잘 쓴 문장처럼 잘 읽힌다.(가독성 강조) 설계자의 의도를 숨기지 않으며 명쾌한 추상화와 단순한 제어문으로 가득하다. 3. 큰 데이브 토마스 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다. 단위 테스트 케이스와.. BackEnd/CleanCode 3년 전