길벗·이지톡

도서 IT전문서/IT입문서 프로그래밍/오픈소스
현장에서 뽑은 70가지 예제로 배우는 코드 잘 짜는 법 자바 코딩의 기술
정 가
22,000원
I S B N
9791165212315
출 간
2020-07-30
분 량
264쪽
지 은 이
리누스디에츠,사이먼하러,요르그레너드
난 이 도
관계없음,입문,초급
옮 긴 이
심지현

내 코드, 정말 괜찮을까?

전문가의 코드와 비교하면서 배운다 

코딩 스킬을 개선하는 가장 좋은 방법은 전문가의 코드를 읽는 것이다. 오픈 소스 코드를 읽으면서 이해하면 좋지만, 너무 방대하고 스스로 맥락을 찾는 게 어려울 수 있다. 그럴 땐 이 책처럼 현장에서 자주 발견되는 문제 유형 70가지와 해법을 비교하면서 자신의 코드에서 개선할 점을 찾는 것이 좋다.

 

적절한 코드를 작성하는 법을 배운다

너무 과하지 않으면서 간결하게, 군더더기 없이, 딱 필요한 만큼만 있는 코드를 작성하는 방법을 배워보자. BufferedReaderbr로 선언하는가? buffered로 선언하는가? reader로 선언해야 한다고 해법을 제시할까? 이 책은 변수명을 어떻게 짓는가, 주석은 어떻게 써야 하는가부터 시작해서 단계별로 주제를 심화해가면서 적절한 코드란 무엇인지 알려준다.

 

훌륭한 코드란 기능을 구현하는 것 이상이다

별거 아닌 것 같은 디테일 하나가 코드를 더 멋지게 만든다. 가독성이 좋아지고, 유지보수성이 좋아지고, 변경에 유연하고, 강건한 코드, 더 빠른 코드를 작성할 수 있게 해준다. 작지만 중요한 디테일을 꼼꼼하게 지적하고, 더 나은 프로그래머가 되는 여정을 보여줄 것이다.

 

목차

[목차]

1장 우선 정리부터 

__1.1  쓸모없는 비교 피하기

__1.2  부정 피하기

__1.3  불 표현식을 직접 반환

__1.4  불 표현식 간소화

__1.5  조건문에서 NullPointerException 피하기

__1.6  스위치 실패 피하기

__1.7  항상 괄호 사용하기

__1.8  코드 대칭 이루기

__1.9  1장에서 배운 내용

 

2장 코드 스타일 레벨 업 

__2.1  매직 넘버를 상수로 대체

__2.2  정수 상수 대신 열거형

__2.3  For 루프 대신 For-Each

__2.4  순회하며 컬렉션 수정하지 않기

__2.5  순회하며 계산 집약적 연산하지 않기

__2.6  새 줄로 그루핑

__2.7  이어붙이기 대신 서식화

__2.8  직접 만들지 말고 자바 API 사용하기

__2.9  2장에서 배운 내용

 

3장 슬기롭게 주석 사용하기 

__3.1  지나치게 많은 주석 없애기

__3.2  주석 처리된 코드 제거

__3.3  주석을 상수로 대체

__3.4  주석을 유틸리티 메서드로 대체

__3.5  구현 결정 설명하기

__3.6  예제로 설명하기

__3.7  패키지를 JavaDoc으로 구조화하기

__3.8  클래스와 인터페이스를 JavaDoc으로 구조화하기

__3.9  메서드를 JavaDoc으로 구조화하기

__3.10  생성자를 JavaDoc으로 구조화하기 

__3.11  3장에서 배운 내용

 

4장 올바르게 명명하기 

__4.1  자바 명명 규칙 사용하기

__4.2  프레임워크에는 Getter/Setter 규칙 적용

__4.3  한 글자로 명명하지 않기

__4.4  축약 쓰지 않기

__4.5  무의미한 용어 쓰지 않기

__4.6  도메인 용어 사용하기

__4.7  4장에서 배운 내용

 

5장 문제 발생에 대비하기 

__5.1  빠른 실패

__5.2  항상 가장 구체적인 예외 잡기

__5.3  메시지로 원인 설명

__5.4  원인 사슬 깨지 않기

__5.5  변수로 원인 노출

__5.6  타입 변환 전에 항상 타입 검증하기

__5.7  항상 자원 닫기

__5.8  항상 다수 자원 닫기

__5.9  catch 블록 설명하기

__5.10  5장에서 배운 내용

 

6장 올바르게 드러내기 

__6.1  Given-When-Then으로 테스트 구조화

__6.2  의미 있는 어서션 사용하기

__6.3  실제 값보다 기대 값을 먼저 보이기

__6.4  합당한 허용값 사용하기

__6.5  예외 처리는 JUnit에 맡기기

__6.6  테스트 설명하기

__6.7  독립형 테스트 사용하기

__6.8  테스트 매개변수화

__6.9  경계 케이스 다루기

__6.10  6장에서 배운 내용

 

7장 객체 디자인 

__7.1  불 매개변수로 메서드 분할

__7.2  옵션 매개변수로 메서드 분할

__7.3  구체 타입보다 추상 타입

__7.4  가변 상태보다 불변 상태 사용하기

__7.5  상태와 동작 결합하기

__7.6  참조 누수 피하기

__7.7  널 반환하지 않기

__7.8  7장에서 배운 내용

 

8장 데이터 흐름 

__8.1  익명 클래스 대신 람다 사용하기

__8.2  명령형 방식 대신 함수형

__8.3  람다 대신 메서드 참조

__8.4  부수 효과 피하기

__8.5  복잡한 스트림 종료 시 컬렉트 사용하기

__8.6  스트림 내 예외 피하기

__8.7  널 대신 옵셔널

__8.8  선택 필드나 매개변수 피하기

__8.9  옵셔널을 스트림으로 사용하기

__8.10  8장에서 배운 내용

 

9장 실전 준비 

__9.1  정적 코드 분석 도구

__9.2  팀 내 자바 포맷 통일

__9.3  빌드 자동화

__9.4  지속적 통합

__9.5  생산 준비와 납품

__9.6  콘솔 출력 대신 로깅

__9.7  다중 스레드 코드 최소화 및 독립

__9.8  고급 동시 실행 추상화 사용하기

__9.9  프로그램 속도 향상

__9.10  틀린 가정 알기

__9.11  9장에서 배운 내용

더보기접기

저자

ㆍ지은이 리누스디에츠

지은이 소개
뮌헨 공과대학교의 연구원입니다. 우아한 알고리즘을 개발하거나 오픈 소스 소프트웨어를 발전시키는 데 그의 열정을 바치고 있습니다.

ㆍ지은이 사이먼하러

지은이 소개
항상 새로운 기술, 프레임워크, 아이디어를 탐색하는 개발자이자 선생님입니다. 그의 친구들은 그를 클린 코드 전도사라고 부릅니다.

ㆍ지은이 요르그레너드

지은이 소개
개발자, 선생님, 연구원입니다. 10년째 자바를 가르치고 있으며 오픈 소스 소프트웨어에 기여하는 것을 좋아합니다. 컴퓨터 과학 연구자로서의 경력과 전문 소프트웨어 개발자로서의 경험을 쌓고 있습니다.

ㆍ옮긴이 심지현

옮긴이 소개
이화여대 컴퓨터공학과를 졸업하고, KAIST 대학원 전산과에서 데이터베이스 전공으로 석사 학위를 취득했다. 데이터베이스 외에 온톨로지(Ontology), 개인화 검색 등을 연구했으며 졸업 후 네이버에서 검색 서버 설계 및 개발 실무 경험을 쌓다가 현재는 검색 연구실에서 검색 모델링과 추천 시스템 관련 연구를 진행 중이다.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.