간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (17,100원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (12,600원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (14,400원)
(최대할인 4만원 / 2만원 이상 결제)
Close

좋은 코드를 작성하는 기술 : 읽기 쉽고 유지보수가 쉬운 프로그래밍 작성법

소득공제

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

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

20,000원

  • 18,000 (10%할인)

    1,000P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 사은품(10)

출판사 서평

초보 프로그래머를 위한 레벨 업 가이드!
유연하고 효율적인 소프트웨어를 얼마나 잘 구현할 것인가?
좋은 코드로의 여행을 시작합니다!


이 책은 읽기 쉽고 유지보수하기 쉬운 “좋은 코드”의 작성법을 설명하고 있는 프로그래밍 입문서다.

좋은 코드를 작성하는 관례에서 네이밍 방법, 코드 분할 및 통합하는 방법, 프로그래밍의 파워를 최대화하는 추상화 방법, 코드의 성능을 높이는 방법과 효율적인 알고리즘 작성법, 단위 테스트와 메타프로그래밍까지 프로그래머로서의 튼튼한 기초를 높여줄 수 있는 모든 것들을 다루고 있다.

이 책에는 다양한 소스 코드가 예로 등장한다. 예제의 메인 언어는 자바(Java)이지만, 루비(Ruby)나 자바스크립트(JavaScript) 등의 언어로도 설명하고 있다. 그러나 한 언어에 특화된 이야기는 거의 없으므로 다른 언어를 사용하는 프로그래머들에게도 충분히 참고가 될 수 있는 구성으로 되어 있다. 책의 곳곳에는 초보 프로그래머와 중급 프로그래머가 궁금해 하는 부분들에 대해서 전문 프로그래머의 답변을 캐리커처와 함께 대화체로 풀어놓아 이해하기 쉽고 재미있게 학습할 수 있도록 하였다.

이 책의 대상 독자
- 좋은 코드를 작성하고 싶지만 어디부터 손을 대면 좋을지 모르는 분들
- 읽기 쉽고 유지보수하기 쉬운 코드를 작성하고 싶은 분들
- 프로그래밍의 세계에 발을 갓 들여놓은 학생들
- 코딩을 전문으로 하고 있는 현업의 1-2년차 프로그래머들
- 베테랑 프로그래머를 목표로 중급 프로그래머들이

목차

CHAPTER 1 좋은 코드란 무엇인가?
1.1 좋은 코드의 정의와 가치2
1.2 좋은 코드의 정의
1.3 좋은 코드의 가치
1.4 각 대표자들의 이야기
1.5 정리

CHAPTER 2 좋은 코드를 작성하기 위한 5가지 습관
2.1 좋은 코드는 하루아침에 되는 것이 아니다
2.2 습관 그 첫 번째 - 읽기
코드를 읽고 또 읽어라!
2.3 습관 그 두 번째 - 쓰기
어쨌든 코드를 작성해 보자
2.4 습관 그 세 번째 - 도구의 연마
사용하는 도구는 항상 갈고 닦아두자
2.5 습관 그 네 번째 - 알기
좋은 지식을 얻자
2.6 습관 그 다섯 번째 - 듣기
코드 등의 결과물과 사람들로부터의 피드백으로 더욱 성장하자
2.7 정리

CHAPTER 3 명명하기
3.1 좋은 코드는 좋은 이름에서 나온다
3.2 각 대표자들의 이야기
3.3 좋은 이름의 조건
3.4 변수명
3.5 메소드명
3.6 클래스명
3.7 패키지/네임스페이스명
3.8 프로젝트명
3.9 정리

CHAPTER 4 스코프
4.1 스코프를 의식하고 있는가?
4.2 스코프란 무엇인가?
4.3 스코프를 작게 해서 기억해 둘 것을 줄이자!
4.4 각 대표자들의 이야기
4.5 변수의 스코프
4.6 메소드의 스코프
4.7 클래스의 스코프
4.8 캐스트를 사용한 가시성의 제어
4.9 보다 큰 영역의 스코프
4.10 정리

CHAPTER 5 코드의 분할
5.1 적절한 크기로 코드를 분할하기
5.2 왜 코드를 분할하는가?
5.3 각 대표자들의 이야기
5.4 두 가지 방향으로의 분할
5.5 예제: 클라이언트에 XML을 반환하는 웹 API 처리의 분할
5.6 단계 1: 일단 코드를 작성해 보기
5.7 단계 2: 공통 처리를 메소드로 추출하여 분할하기
5.8 단계 3: 처리 단위로 분할하기
5.9 단계 4: 상태를 가진 처리를 클래스로 추출하여 분할하기
5.10 정리

CHAPTER 6 코드의 집약
6.1 코드의 중복은 나쁘다!
6.2 각 대표자들의 이야기
6.3 메소드로 추출하여 정리하기
6.4 계승으로 정리하기
6.5 유틸리티 클래스로 정리하기
6.6 서비츠 층에 정리하기
6.7 객체에 정리하기
6.8 정수에 정리하기
6.9 정리

CHAPTER 7 코드의 성능
7.1 성능을 의식하고 있는가?
7.2 각 대표자들의 이야기
7.3 성능은 계산량으로 결정된다
7.4 성능 개선의 순서
7.5 알고리즘 선택 이외의 성능 개선
7.6 성능 개선의 지침
7.7 정리

CHAPTER 8 단위테스트
8.1 테스트를 좋아하는가?
8.2 단위 테스트란 무엇인가?
8.3 각 대표자들의 이야기
8.4 단위 테스트의 효능
8.5 예제: 웹 애플리케이션의 보안 테스트
8.6 단계 1: 데이터베이스에 테스트 데이터 등록하기
8.7 단계 2: 화면의 구현
8.8 단계 3: 화면의 단위 테스트(정상계)
8.9 단계 4: 화면의 단위 테스트(이상계)
8.10 단위 테스트의 지침
8.11 정리

CHAPTER 9 추상화
9.1 추상화는 프로그래밍의 파워를 최대화한다
9.2 배열/컬렉션이란?
9.3 배열/컬렉션을 이용한 추상화
9.4 각 대표자들의 이야기
9.5 예제: 이미지 파일의 리스트를 표시하는 웹 애플리케이션
9.6 단계 1: 일단 코드를 대충 작성해 보기
9.7 단계 2: 가독성을 높이기 위한 메소드 추출
9.8 단계 3: 관련 데이터의 데이터 구조 정리
9.9 단계 4: 배열/컬렉션을 이용한 추상화
9.10 추상화의 지침
9.11 정리

CHAPTER 10 메타프로그래밍
10.1 프로그래밍을 프로그램하기
10.2 각 대표자들의 이야기
10.3 메타프로그래밍이란 무엇인가?
10.4 예제: Excel을 사용한 외부 DSL
10.5 단계 1: 일단 코드 작성해 보기
10.6 단계 2: 메타데이터를 Excel로 이동하기
10.7 단계 3: 리플렉션 API로 변환 규칙을 동적으로 적용하기
10.8 정리

CHAPTER 11 프레임워크를 만들자
11.1 프레임워크의 동작 원리 이해하기
11.2 각 대표자들의 이야기
11.3 예제: 웹 애플리케이션 프레임워크 만들기
11.4 단계 1: 기본이 되는 서블릿으로 작성해 보기
11.5 단계 2: 프런트 컨트롤러와 액션 클래스의 도입
11.6 단계 3: 라우팅 정보의 외부 파일화
11.7 단계 4: 자주 사용하는 처리를 간단하게 실행할 수 있도록 공통화하기 203
11.8 단계 5: 프레임워크를 패키지화한다
11.9 정리

APPENDIX A 코드 리딩 방법
A.1 코드에는 동적인 리딩 방법과 정적인 리딩 방법이 있다
A.2 Apache Commons IO의 코드 읽기
A.3 단계 1: 대상의 코드를 다운로드(체크 아웃)한다
A.4 단계 2: 정적인 방법으로 코드 읽기
A.5 단계 3: 동적인 방법으로 코드 읽기
A.6 정리

APPENDIX B 참고문헌 해설

후기
찾아보기

본문중에서

이 책은 일을 잘해 보고 싶은 초보 프로그래머가 좋은 코드를 작성할 수 있도록 하기 위한 해설서다. 엔지니어로서 좋은 코드를 작성할 수 있는 프로그래머는 (어디까지나 내 생각이지만) 업계에서 20% 정도뿐이다. 나머지 80%는 이른바 초보 프로그래머들인 셈이다. 그 80% 정도의 프로그래머 중에는 일을 잘해 보고 싶긴 하지만 좀처럼 요령을 터득하지 못했거나 또는 무엇부터 착수해야 하는지를 모르는 사람들이 많은 것 같다.

프로그래밍은 매우 창조적이고 흥미진진하며 즐거운 일이지만, 이런 식이라면 참 으로 아깝다는 생각이 든다. 내가 좋은 코드를 작성할 수 있게 된 것은 좋은 스승과 서적을 만나게 된 덕분이다. 이 책이 일을 잘 해 보고 싶은 초보 프로그래머들에게 좋은 지침서로 활용되길 바란다.
(/ 머리말 중에서)

저자소개

아가타 토시타카(Agata Toshitaka) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

학창시절 MSX라는 8비트 컴퓨터로 인해 프로그래밍의 즐거움을 알았으며, 오픈 소스인 Wiki로 구현한 MobWiki의 개발 업무를 시작으로 프로그래밍의 세계에 발을 들여놓았다. 현재는 프로젝트 관리툴인 Backlog, 이미지 드로우 툴인 Cacoo 등 협업형 웹 서비스의 기획 및 제품 개발을 하고 있다. 또한 웹 애플리케이션 프레임워크인 Cubby의 커미터(Committer)를 맡고 있다. 현재 후쿠오카에 거주하고 있으며, 주식회사 누라보에 소속되어 있다.
블로그: http://d.hatena.ne.jp/agt
트위터: @agata

생년월일 -
출생지 -
출간도서 0종
판매수 0권

숭실대학교에서 전자계산학을 전공하였다. 사회 초년생 시절 자바에 심취해 현대정보기술에서 웹 애플리케이션을 개발하였고, 그 후 이동통신 단말기 분야로 전직하여 휴대전화 단말기의 부가서비스 개발 업무를 담당하였다. 일본 키스코 모바일사업부 팀장이었으며, 일본 교세라의 북미향 휴대전화기 개발에 참여하였다. 지금은 일본의 주요 이동통신사에서 업무 프로세스 개선을 위한 IT 컨설팅 및 데이터 분석 관련 툴을 개발하고 있다. 옮긴 책으로는 《자바스크립트 마스터 북(제2판)》, 《처음 만나는 알고리즘》을 비롯해 10여 종이 있다.

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    5.0 (총 0건)

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

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

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

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

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

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용