이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
이펙티브 코틀린
안전성, 가독성, 코드 설계, 효율성을 향상시키기 위한 52가지 전략과 기법
베스트
IT 모바일 top20 3주
가격
28,000
10 25,200
YES포인트?
1,400원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 본 도서의 개정판이 출간되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 신청가능

책소개

목차

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 컬렉션 사용을 고려하라

용어

저자 소개2

마르친 모스칼라

관심작가 알림신청
 

Marcin Moskala

경험이 많은 개발자이자 코틀린 교육자다. 젯브레인과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 Kt. Academy의 창립자다. 『Android Development with Kotlin(코틀린을 이용한 안드로이드 개발)』의 저자이며, 여러 국제 컨퍼런스에서 발표한 경험이 있다. 다수의 라이브러리를 만들었으며, 컨트리뷰터로도 활동하고 있다.
어쩌다가 책을 집필/번역하기 시작해서, 지금까지 계속해서 집필/번역하고 있다. 현재 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하고 있다. 오전에는 커피, 오후에는 홍차를 마신다. 요리, 피아노, 기타, 작곡, 그림, 스컬핑 등의 취미를 갖고 있다. 『HTML5 웹 프로그래밍 입문』 『혼자 공부하는 파이썬』 『모던 웹을 위한 HTML5+CSS3 바이블』 등을 저술했으며 『나의 첫 블렌더』 『프로 일러스트레이터가 알려주는 캐릭터 채색 테크닉 [결정판]』 『러닝스쿨! 한 권으로 끝내는 HTML+CSS 웹 디자인 입문』 『최신 표준 HTML+CSS 디자인』 『파이썬을
어쩌다가 책을 집필/번역하기 시작해서, 지금까지 계속해서 집필/번역하고 있다. 현재 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하고 있다. 오전에는 커피, 오후에는 홍차를 마신다. 요리, 피아노, 기타, 작곡, 그림, 스컬핑 등의 취미를 갖고 있다. 『HTML5 웹 프로그래밍 입문』 『혼자 공부하는 파이썬』 『모던 웹을 위한 HTML5+CSS3 바이블』 등을 저술했으며 『나의 첫 블렌더』 『프로 일러스트레이터가 알려주는 캐릭터 채색 테크닉 [결정판]』 『러닝스쿨! 한 권으로 끝내는 HTML+CSS 웹 디자인 입문』 『최신 표준 HTML+CSS 디자인』 『파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문』 『파이썬을 이용한 웹 크롤링과 스크레이핑』 『문제 해결을 위한 알고리즘 with 수학』 『만들면서 배우는 블렌더 3D 입문』 등을 번역했다.

윤인성의 다른 상품

품목정보

발행일
2022년 01월 20일
쪽수, 무게, 크기
404쪽 | 172*255*30mm
ISBN13
9788966263370

출판사 리뷰

‘1부: 좋은 코드’에서는 좋은 품질의 코드를 만들기 위한 일반적인 규칙을 설명합니다. 이 부에서는 프로젝트의 규모와 상관없이 모든 코틀린 개발자를 위한 내용을 설명합니다. 안정성에 관한 아이템부터 시작해서 가독성까지 설명합니다. 프로그래밍에서 가장 중요한 것은 안정적으로 정확한 결과를 만들어 내는 것이라고 생각합니다. 따라서 첫 번째 장에서 안정성을 다룹니다. 또한 코드를 읽는 것은 컴파일러만을 위한 것이 아닙니다. 많은 프로그래머가 코드를 읽습니다. 또한 혼자 코드를 작성해도, 코드를 쉽게 읽을 수 있어야 합니다. 따라서 두 번째 장에서 가독성을 다룹니다.

‘2부: 코드 설계’에서는 다른 개발자와 함께 프로젝트를 진행하거나, 라이브러리를 만들 때 활용할 수 있는 내용을 다룹니다. 바로 컨벤션(convention)과 규약(contract)입니다. 물론 컨벤션과 규약은 결국 가독성과 안정성이 반영된 결과입니다. 따라서 추상화와 함께 코드 품질을 향상시킬 수 있는 내용을 추가로 다루는 부라고 생각하면 됩니다. 추가적으로 이 부에서는 코드를 확장시키는 방법과 관련된 내용을 다룹니다. 프로젝트는 오랜 시간 동안 계속해서 발전하게 됩니다. 따라서 대규모 프로젝트를 만들 때 활용할 수 있는 유
용한 사례들에 대해서 설명합니다.

‘3부: 효율성’에서는 코드의 효율성과 관련된 부입니다. 대부분의 아이템에서 개발 시간과 가독성을 따로 희생하지 않고 사용할 수 있는 효율성 관련 사례를 다룹니다. 다만 일반적으로 코드의 효율성은 고성능 애플리케이션, 라이브러리, 많은 사람이 사용하는 애플리케이션에서 유용하므로, 이와 관련된 내용도 다룹니다.

리뷰/한줄평6

리뷰

9.6 리뷰 총점

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정