자바 코딩의 기술 6

자바 코딩의 기술 - 6장 ( 올바르게 드러내기)

코드는 꼭 테스트하라. 아니면 사용자가 하게 된다. - 데이브 토마스, 앤드류 헌트 6-1. Given-When-Then으로 테스트 구조화 @Test void setPlanetarySpeedIs7667() { CruiseControl cruiseControl = new CruiseControl(); cruiseControl.setPreset(SpeedPreset.PLANETARY_SPEED); Assertions.assertTrue(7667 == cruiseControl.getTargetSpeedKmh()); } 주석을 추가하고, 띄워쓰기를 넣어서 Given, When, Then을 확실히 인지할 수 있다. void otherTest() { // given CruiseControl cruiseControl..

자바 코딩의 기술 - 5장 ( 문제 발생에 대비하기 )

오류가 없는 프로그램을 작성하는 두 가지 방법이 있는데 사실 세 번째 방법만 통한다. - 앨런J 펄리스 5-1. 빠른 실패 void setTargetSpeedKmh(double speedKmh) { if (speedKmh < 0) { throw new IllegalArgumentException(); } else if (speedKmh SPEED_LIMIT) { throw new IllegalArgumentException(); } targetSpeedKmh = speedKmh; } 5-2. 항상 가장 구체적인 예외 잡기 예외를 단순히 가장 큰 개념인 Exception으로 받기 보다는, 구체적인 예외인 NumberFormatException 등으로 받아라. 그 외에 예외(ex. NullPointExcep..

자바 코딩의 기술 - 4장 ( 올바르게 명명하기 )

컴퓨터 과학에서 어려운 문제는 딱 두 가지, 캐시 무효화(Cache invalidation)와 명명(naming)이다. - 필 칼튼 4-1. 자바 명명 규칙 사용하기 클래스는 대문자로 시작하고, 메소드는 동사형태의 소문자, 변수는 명사형태의 소문자로 시작하는 등 자바 코드 규칙을 준수하라. https://www.oracle.com/technetwork/java/codeconventions-150003.pdf 4-2. Getter/Setter는 규칙을 적용하라. 필드명이 foo이면 getFoo(), setFoo()와 같이 명명하며, boolean필드는 isFoo()와 같이 명명한다. 4-3. 변수명에 한 글자(i, l, m 등)를 사용하지 마라. 명시적으로 변수의 의미를 알 수 있는 이름을 사용하라. 4-..

자바 코딩의 기술 - 3장 ( 슬기롭게 주석 사용하기 )

훌륭한 코드는 그 자체로 최고의 설명서다. 주석을 추가하기 전에 "주석이 필요없도록 코드를 향상시킬 방법이 없을까?"하고 자문해 보라. - 스티브 맥코넬 3-1. 코드만 봐도 알 수 있는 당연한 내용은 주석으로 작성하지 마라. class Inventory { // Fields (we only have one) List supplies = new ArrayList(); // The list of supplies. // Methods int countContaminatedSupplies() { // TODO: check if field is already initialized (not null) int contaminatedCounter = 0; // the counter // No supplies => n..

자바 코딩의 기술 - 2장 ( 코드 스타일 레벨 업 )

훌륭한 코드는 짧고 단순하고 대칭을 이룬다. 문제는 어떻게 그렇게 하느냐다. - 숀 파렌트 2-1. 로직 내에 매직넘버(특정 숫자나 문자)를 사용하지 말고, 상수(static final)로 분리시켜라. 2-2. 매개변수로 받는 값이 몇개의 유효한 값만 가능하다면, 매개변수를 정수와 같은 변수가 아닌 enum타입을 사용해서 호출할 수 있는 값을 제한하라. 2-3. For 루프는 반복문을 잘못 구현할 우려가 있으니, 특별한 이유(명시적으로 인덱스 i를 사용해야 할 때)가 아니면 For-Each문을 사용하라. 2-4. 반복문에서 컬렉션 수정시 주의사항 : 반복문 순회 중에 수정/삭제가 필요시 주의사항 private List members = new ArrayList(); void checkMember(){ f..

자바 코딩의 기술 - 1장 ( 우선 정리부터 )

현장에서 뽑은 70가지 예제로 배우는 코드 잘 짜는법 : 개발자는 대부분의 시간을 기존 코드의 유지보수에 사용한다. 따라서 코드는 명료함을 추구하여 가독성을 높이는 노력을 하여야 한다.(본인만 알 수 있게 짧게(또는 복잡하게) 짠다고 좋은게 아니다. 본인도 6개월이 지나면 이해하기 어렵다.) 바보도 컴퓨터가 이해하는 코드는 작성할 수 있다. 훌륭한 프로그래머는 인간이 이해하는 코드를 작성한다. - 마틴 파울러 1-1. 쓸모없는 비교는 피하라 : boolean으로 리턴하는 조건을 다시 true/false와 비교할 필요없다. 1-2. 부정표현보다 긍정표현이 이해하기 쉽다. if조건문 등에서 긍정표현문을 쓰도록 노력하자. 1-3. 조건 비교 후 boolean값을 리턴하는 구조는 if조건문 없이 바로 리턴도 가..

반응형