상단으로 이동
상단으로 이동
회원리뷰[0)]

자바 코딩의 기술

저자 | 사이먼 하러 외 출판사 | 길벗
ISBN : 9791165212315   |  발행일 : 2020-07-30  |  264
  • 정가 22,000원
    판매가 19,800 (10% 할인)
  • 적립포인트 1,100 적립 [5% 적립]
  • 무이자할부 1월 무이자 할부
    배송비 2,500원 (20,000원 이상 구매시 배송비 무료)
  • 스프링분철
IT/베스트셀러 > 컴퓨터/IT도서


도서소개

내 코드, 정말 괜찮을까?

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

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

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

[책 속의 문구]
명심하세요! 바보는 도구를 사용해도 바보입니다!

[예제 코드]
o 길벗 깃허브 저장소: https://github.com/gilbutITbook/007025
o 원서 소스 코드: https://pragprog.com/titles/javacomp/source_code

[관련도서]
유지보수 가능한 코딩의 기술 자바편
자바로 배우는 리팩토링 입문

대상 독자
자바 프로그래밍 초보자나 중급자가 대상입니다. 또한 프로그래머 과정을 이제 막 시작한 개발자를 가르치는 선생님에게 유용한 수업 자료입니다. 이 책은 자원 처리나 함수형 프로그래밍, 테스트에 대해 더 최신인 자바 8 문법에 기반해 팁과 비결을 제공합니다.
이 책은 자바 기본 문법을 학습하고 조건문과 루프로 간단한 프로그램을 만들 수 있고 객체 지향 프로그래밍의 기초를 알고 난 후에 읽어야 합니다. FizzBuzz(준비되었나요? 자기 평가를 해보세요 참고, 015쪽) 같은 간단한 문제를 컴파일하고 실행하고 해결하는 코드 정도는 작성할 수 있어야 합니다. 간단한 알고리즘을 구현할 수 있어야 하고 리스트나 큐, 스택, 맵 같은 기본적인 자료
구조를 사용하는 방법도 알아야 합니다. 또한 이 모든 것이 당연히 즐거워야 하고요!
복잡한 문제를 풀었을 때 큰 만족감을 느낀다면 시작이 매우 좋은 겁니다. 하지만 배울 내용이 산더미라는 사실도 물론 알고 있겠죠. 기술을 적용해보았는데 자바 프로그래밍이나 일반적인 프로그래밍 경험이 부족하다는 사실을 인정해야 한다면 이 책을 통해 최대효과를 거둘 수 있을 것입니다. 아마도 클린 코드와 숙련된 개발자가 적용하는 모범 사례에 대한 감을 아직 키우지 못했다는 뜻일 테니까요.

이제 바뀔 때가 되었습니다!
물론 [이펙티브 자바](인사이트, 2018)와 [클린 코드](인사이트, 2013)처럼 자바의 코드 품질과 가독성, 유지보수성, 클린 코드를 다룬 고급 책을 이미 접했다면 이미 한 발 멀리 나아갔다고 할 수 있습니다. 그래도 이 책에서 새로운 내용을 더 찾을 수 있을 것이고 꼭 그럴 거예요.

이 책으로 클린 코드 가르치기
기업에서 신입사원에게 프로그래밍을 가르치는 선임 개발자라면 이 책에서 다룰 모범 사례를 익히 알고 있겠죠. 물론 업무에 따라 동의하지 못하는 사례도 있을 것입니다. 그래도 이 책을 통해 더 편하게 주니어 개발자를 훈련시킬 수 있습니다. 참조용으로 활용하면 됩니다. 수습사원이 작성한 코드에서 문제를 발견하면 이 책에서 해당하는 절을 알려주세요. 수습사원은 당신이 언뜻 내비친 문제에 대해 간단한 예제와 함께 문제 해법에 도달하는 방법을 읽을 수 있습니다. 일일이 설명을 쓰지 않아도 되니 시간을 아낄 수 있습니다.
2~3학년까지 자바를 배운 학생 대상으로 교수법 개념을 개발해온 우리의 경험이 학계에서 가르치는 데 유용할 것입니다. 이 책은 대학 학부생을 대상으로 15년 이상 코드 품질을 고급 과정으로 가르쳐온 지식의 산물입니다. 자바를 밑바닥부터 가르치지는 못하더라도 기본적으로 프로그래밍 과제를 포함하는 어떤 과목과도 어울립니다. 특히 이 책은 클린 코드 교육 워크숍 논문에서 설명했듯이 학생 코드를 평가할 때 참고하기 좋습니다.

도서목차

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장에서 배운 내용

해시태그

#자바 #코딩의 #기술

도서 리뷰작성!

평점
답변상태 문의답변 작성자 작성일

도서 문의작성!

배송 - 월요일~토요일 오전9시 이전에 입금 확인 된 주문은 다음날 배송받으실 수 있습니다.
- 토요일 발송분은 오전9시 이전 주문에 한하여 월요일 수령 가능 합니다.
(일부 제작상품 및 재고부족 도서 제외)
- 재고가 부족한 일부 상품의 경우 1~3일 정도 배송이 지연될 수 있습니다.
교환/반품 방법 1:1 문의 글 등록, 고객만족센터 (1544-1356) 전화 후 교환/반품 문의하시면 됩니다.
교환/반품 가능기간 출고 완료 후 7일 이내에 교환/반품/환불이 가능합니다.
교환/반품 비용 고객님 변심에 의한 반품, 환불, 교환 시 택배비는 본인 부담입니다.
교환/반품 불가사유 - 상담원과의 상담 없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
- 상품이 훼손된 경우 반품 및 교환, 환불이 불가합니다.
- 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한됩니다.
서브노트, 스프링 분철 교재 등은 교환이나 반품이 불가합니다.
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로
안내해드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에
관한 사항은 소비자분쟁해결 기준 (공정거래위원회고시)에 준하여 처리됨
- 대금환불 및 환불지연에 따른 배상금 지급 조건, 절차등은 전자상거래 등에서의
소비자 보호에 관한 법률에 따라 처리됨