간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 5만원 이상 결제시, 5/1~5/31 기간 중 1회)
삼성카드 6% (23,690원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (23,940원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (17,640원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (20,160원)
(최대할인 4만원 / 2만원 이상 결제)
Close

이펙티브 코틀린 : 안전성, 가독성, 코드 설계, 효율성을 향상시키기 위한 52가지 전략과 기법

원제 : Effective Kotlin
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 670
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

28,000원

  • 25,200 (10%할인)

    1,400P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(105)

  • 상품권

AD

책소개

실제 개발 사례를 통해 알려주는 코드 품질 향상 전략

이 책은 더 나은 코틀린 개발자가 될 수 있도록 도움을 주는 안내서입니다. 코틀린에 어떤 기능이 있는지, 어떤 표준 라이브러리가 있는지 알고 있다고 코틀린을 강력하고 실용적으로 사용할 수 있는 것은 아닙니다. 코틀린을 제대로 사용하려면, 그 기능을 언제, 어떻게 적절하게 사용해야 하는지 알아야 합니다.
이 책은 많은 사람이 제대로 활용하지 못하고 있는 기능을 간단한 규칙으로 제시하고, 52가지 아이템을 실제 사례를 통해 자세하게 설명합니다. 각각의 아이템은 코틀린의 기본적인 기능부터 인라인 함수, 클래스, DSL, 플랫폼 타입과 같은 고급 주제까지 다루고 있습니다.
이 책을 통해 코틀린의 코드 품질(안전성, 가독성, 코드 설계, 효율성)을 어떻게 향상시킬 수 있는지 배울 수 있을 것입니다. 또한 어떻게 하면 안전성, 가독성, 유지보수성, 성능 면에서 더 나은 코틀린 코드를 작성할 수 있는지 알게 될 것입니다.

출판사 서평

‘1부: 좋은 코드’에서는 좋은 품질의 코드를 만들기 위한 일반적인 규칙을 설명합니다. 이 부에서는 프로젝트의 규모와 상관없이 모든 코틀린 개발자를 위한 내용을 설명합니다. 안정성에 관한 아이템부터 시작해서 가독성까지 설명합니다. 프로그래밍에서 가장 중요한 것은 안정적으로 정확한 결과를 만들어 내는 것이라고 생각합니다. 따라서 첫 번째 장에서 안정성을 다룹니다. 또한 코드를 읽는 것은 컴파일러만을 위한 것이 아닙니다. 많은 프로그래머가 코드를 읽습니다. 또한 혼자 코드를 작성해도, 코드를 쉽게 읽을 수 있어야 합니다. 따라서 두 번째 장에서 가독성을 다룹니다.
‘2부: 코드 설계’에서는 다른 개발자와 함께 프로젝트를 진행하거나, 라이브러리를 만들 때 활용할 수 있는 내용을 다룹니다. 바로 컨벤션(convention)과 규약(contract)입니다. 물론 컨벤션과 규약은 결국 가독성과 안정성이 반영된 결과입니다. 따라서 추상화와 함께 코드 품질을 향상시킬 수 있는 내용을 추가로 다루는 부라고 생각하면 됩니다. 추가적으로 이 부에서는 코드를 확장시키는 방법과 관련된 내용을 다룹니다. 프로젝트는 오랜 시간 동안 계속해서 발전하게 됩니다. 따라서 대규모 프로젝트를 만들 때 활용할 수 있는 유용한 사례들에 대해서 설명합니다.
‘3부: 효율성’에서는 코드의 효율성과 관련된 부입니다. 대부분의 아이템에서 개발 시간과 가독성을 따로 희생하지 않고 사용할 수 있는 효율성 관련 사례를 다룹니다. 다만 일반적으로 코드의 효율성은 고성능 애플리케이션, 라이브러리, 많은 사람이 사용하는 애플리케이션에서 유용하므로, 이와 관련된 내용도 다룹니다.

목차

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

용어

저자소개

마르친 모스칼라 [저] 신작알림 SMS신청
생년월일 -

경험이 많은 개발자이자 코틀린 교육자다. 젯브레인과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 Kt. Academy의 창립자다. 《Android Development with Kotlin(코틀린을 이용한 안드로이드 개발)》의 저자이며, 여러 국제 컨퍼런스에서 발표한 경험이 있다. 다수의 라이브러리를 만들었으며, 컨트리뷰터로도 활동하고 있다.

윤인성 [역] 신작알림 SMS신청
생년월일 -

저자 윤인성은 SF 영화를 즐겨보며 그 안에서 나오는 미래적인 컴퓨터 요소에 열광하고, 어떻게 하면 그것을 구현할 수 있을지 생각하는 평범한 개발자다. 프로그래밍과 관련된 지식을 나누는 것을 좋아하여 블로그를 운영하고 있다. 취미는 기타와 피아노 연주다.

역자의 다른책

전체보기
펼쳐보기

이 상품의 시리즈

(총 113권 / 현재구매 가능도서 106권)

선택한 상품 북카트담기
펼쳐보기

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    판매자

    (주)교보문고

    상호

    (주)교보문고

    사업자 종류

    법인사업자

    사업자번호

    102-81-11670

    연락처

    1544-1900

    이메일

    callcenter@kyobobook.co.kr

    통신판매 신고 번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용