줄여쓰지 않는다 클래스, 메소드, 변수의 명명시에 축약을 하지 말자는 규칙이다. 숨은 의미 왜 줄여쓰지 말아야 할까? 이 질문의 답은 '왜 줄이려고 하는가?' 라는 질문에서 시작할 수 있다. 축약을 하려는 이유는 간단하다. 이름이 너무 길고 복잡하기 때문이다. 복잡하고 긴 이름을 줄이기 위해 가장 먼저 단어의 길이를 줄이는 약어를 사용한다. 그러나 이 방법은 표현의 방법을 바꾸어 프로젝트에서 용어의 일관성과 명확한 의미전달에 문제를 야기할 수 있다. 긴 이름을 줄여야 하는 이유는 단어가 가진 의미를 줄이는 데 있다. 일반적으로 이름이 길어진다는 것은 해당 변수, 메소드, 클래스에 많은 책임이 부여되어 있다는 것을 의미한다. 이번 규칙의 숨은 의미는 이름이 길어지면, 설계를 고민해보라는 뜻을 담고 있다. ..
한 줄에 점을 하나만 찍는다 코드를 작성할 때 한 라인에 점이 여러 개 생기면, 설계에 대한 고민을 해보라는 지침이다. 숨은 의미 단순히 라인에 존재하는 점의 개수를 헤아려 줄이라는 의미는 아니다. 점을 찍는 행위는 필드나 메소드를 통해 인스턴스에 접근하는 행위를 의미한다. 점의 개수가 많다는 것은 대상 객체의 내부에 깊이 접근하겠다는 의도를 드러내게 되고, 이는 호출자와 피호출자 사이에 강한 결합도가 형성되었다는 것을 의미한다. 예시 public class PaymentService { private MemberRepository memberRepository; public void payment(Long memberId, int accountSequenceNumber, Statement stateme..
모든 원시값과 문자열을 포장한다 int, long, String 과 같은 원시타입, 문자열 변수를 객체로 포장해 사용하라는 지침이다. 숨은 의미 프로그래밍에서 변수는 '상태' 로 쓰일 수 있다. 상태는 '자료'가 아니라 '정보'다. 단순히 값을 나타내는 것 뿐 아니라, 비즈니스적인 의미를 함께 표현해준다. 이렇게 업무적 의미를 갖는 변수를 객체로 포장해 사용하면 얻는 이점이 많다. 예시 public class EvaluateService { private static final int MIN_CREDIT_SCORE = 0; private static final int MAX_CREDIT_SCORE = 1000; public void evaluateCustomerCreditRate(int score) { ..
- Total
- Today
- Yesterday