책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 모바일 프로그래밍 > 안드로이드
· ISBN : 9788966263370
· 쪽수 : 404쪽
· 출판일 : 2022-01-20
목차
1부: 좋은 코드
1장 안정성
아이템 1: 가변성을 제한하라
아이템 2: 변수의 스코프를 최소화하라
아이템 3: 최대한 플랫폼 타입을 사용하지 말라
아이템 4: inferred 타입으로 리턴하지 말라
아이템 5: 예외를 활용해 코드에 제한을 걸어라
아이템 6: 사용자 정의 오류보다는 표준 오류를 사용하라
아이템 7: 결과 부족이 발생할 경우 null과 Failure를 사용하라
아이템 8: 적절하게 null을 처리하라
아이템 9: use를 사용하여 리소스를 닫아라
아이템 10: 단위 테스트를 만들어라
2장 가독성
아이템 11: 가독성을 목표로 설계하라
아이템 12: 연산자 오버로드를 할 때는 의미에 맞게 사용하라
아이템 13: Unit?을 리턴하지 말라
아이템 14: 변수 타입이 명확하게 보이지 않는 경우 확실하게 지정하라
아이템 15: 리시버를 명시적으로 참조하라
아이템 16: 프로퍼티는 동작이 아니라 상태를 나타내야 한다
아이템 17: 이름 있는 아규먼트를 사용하라
아이템 18: 코딩 컨벤션 지켜라
2부: 코드 설계
3장 재사용성
아이템 19: knowledge를 반복하지 말라
아이템 20: 일반적인 알고리즘을 반복해서 구현하지 말라
아이템 21: 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라
아이템 22: 일반적인 알고리즘을 구현할 때 제네릭을 사용하라
아이템 23: 타입 파라미터의 섀도잉을 피하라
아이템 24: 제네렉 타입과 variance 한정자를 활용하라
아이템 25: 공통 모듈을 추출해서 여러 플랫폼에서 재사용하라
4장 추상화 설계
아이템 26: 함수 내부의 추상화 레벨을 통일하라
아이템 27: 변화로부터 코드를 보호하려면 추상화를 사용하라
아이템 28: API 안정성을 확인하라
아이템 29: 외부 API를 랩(wrap)해서 사용하라
아이템 30: 요소의 가시성을 최소화하라
아이템 31: 문서로 규약을 정의하라
아이템 32: 추상화 규약을 지켜라
5장 객체 생성
아이템 33: 생성자 대신 팩토리 함수를 사용하라
아이템 34: 기본 생성자에 이름 있는 옵션 아규먼트를 사용하라
아이템 35: 복잡한 객체를 생성하기 위한 DSL을 만들어라
6장: 클래스 설계
아이템 36: 상속보다는 컴포지션을 사용하라
아이템 37: 데이터 집합 표현에 data 한정자를 사용하라
아이템 38: 연산 또는 액션을 전달할 때 인터페이스 대신 함수 타입을 사용하라
아이템 39: 태그 클래스보다는 클래스 계층을 사용하라
아이템 40: equals의 규약을 지켜라
아이템 41: hashCode의 규약을 지켜라
아이템 42: compareTo의 규약을 지켜라
아이템 43: API의 필수적이지 않는 부분을 확장 함수로 추출하라
아이템 44: 멤버 확장 함수의 사용을 피하라
3부: 효율성
7장 비용 줄이기
아이템 45: 불필요한 객체 생성을 피하라
아이템 46: 함수 타입 파라미터를 갖는 함수에 inline 한정자를 붙여라
아이템 47: 인라인 클래스의 사용을 고려하라
아이템 48: 더 이상 사용하지 않는 객체의 레퍼런스를 제거하라
8장 효율적인 컬렉션 처리
아이템 49: 하나 이상의 처리 단계를 가진 경우에는 시퀀스를 사용하라
아이템 50: 컬렉션 처리 단계 수를 제한하라
아이템 51: 성능이 중요한 부분에는 기본 자료형 배열을 사용하라
아이템 52: mutable 컬렉션 사용을 고려하라
용어



















