logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

내 코드가 그렇게 이상한가요?

내 코드가 그렇게 이상한가요?

(좋은 코드/나쁜 코드로 배우는 설계 입문)

센바 다이야 (지은이), 윤인성 (옮긴이)
  |  
인사이트
2023-06-19
  |  
26,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 23,400원 -10% 0원 1,300원 22,100원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 20,800원 -10% 1040원 17,680원 >

책 이미지

내 코드가 그렇게 이상한가요?

책 정보

· 제목 : 내 코드가 그렇게 이상한가요? (좋은 코드/나쁜 코드로 배우는 설계 입문)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788966263998
· 쪽수 : 412쪽

책 소개

공감 100% 나쁜 코드 사례로 배우는 지속 가능한 코드 설계 입문서. 객체 지향 설계를 통해 코드 품질을 높이는 방법을 설명한다. 설계를 고민하지 않고 작성한 코드는 오로지 한 치 앞만 바라본 코드라고 보며, 설계를 염두에 두고 코드를 작성할 것을 강조한다.

목차

1장 잘못된 구조의 문제 깨닫기

1.1 의미를 알 수 없는 이름
1.2 이해하기 어렵게 만드는 조건 분기 중첩
1.3 수많은 악마를 만들어 내는 데이터 클래스
1.4 악마 퇴치의 기본

2장 설계 첫걸음

2.1 의도를 분명히 전달할 수 있는 이름 설계하기
2.2 목적별로 변수를 따로 만들어 사용하기
2.3 단순 나열이 아니라, 의미 있는 것을 모아 메서드로 만들기
2.4 관련된 데이터와 로직을 클래스로 모으기

3장 클래스 설계: 모든 것과 연결되는 설계 기반

3.1 클래스 단위로 잘 동작하도록 설계하기
3.2 성숙한 클래스로 성장시키는 설계 기법
3.3 악마 퇴치 효과 검토하기
3.4 프로그램 구조의 문제 해결에 도움을 주는 디자인 패턴

4장 불변 활용하기: 안정적으로 동작하게 만들기

4.1 재할당
4.2 가변으로 인해 발생하는 의도하지 않은 영향
4.3 불변과 가변은 어떻게 다루어야 할까

5장 응집도: 흩어져 있는 것들

5.1 static 메서드 오용
5.2 초기화 로직 분산
5.3 범용 처리 클래스(Common/Util)
5.4 결과를 리턴하는 데 매개변수 사용하지 않기
5.5 매개변수가 너무 많은 경우
5.6 메서드 체인

6장 조건 분기: 미궁처럼 복잡한 분기 처리를 무너뜨리는 방법

6.1 조건 분기가 중첩되어 낮아지는 가독성
6.2 switch 조건문 중복
6.3 조건 분기 중복과 중첩
6.4 자료형 확인에 조건 분기 사용하지 않기
6.5 인터페이스 사용 능력이 중급으로 올라가는 첫걸음
6.6 플래그 매개변수

7장 컬렉션: 중첩을 제거하는 구조화 테크닉

7.1 이미 존재하는 기능을 다시 구현하지 말기
7.2 반복 처리 내부의 조건 분기 중첩
7.3 응집도가 낮은 컬렉션 처리

8장 강한 결합: 복잡하게 얽혀서 풀 수 없는 구조

8.1 결합도와 책무
8.2 다양한 강한 결합 사례와 대처 방법

9장 설계의 건전성을 해치는 여러 악마

9.1 데드 코드
9.2 YAGNI 원칙
9.3 매직 넘버
9.4 문자열 자료형에 대한 집착
9.5 전역 변수
9.6 null 문제
9.7 예외를 catch하고서 무시하는 코드
9.8 설계 질서를 파괴하는 메타 프로그래밍
9.9 기술 중심 패키징
9.10 샘플 코드 복사해서 붙여넣기
9.11 은 탄환

10장 이름 설계: 구조를 파악할 수 있는 이름

10.1 악마를 불러들이는 이름
10.2 이름 설계하기 - 목적 중심 이름 설계
10.3 이름 설계 시 주의 사항
10.4 의미를 알 수 없는 이름
10.5 구조에 악영향을 미치는 이름
10.6 이름을 봤을 때, 위치가 부자연스러운 클래스
10.7 이름 축약

11장 주석: 유지 보수와 변경의 정확성을 높이는 주석 작성 방법

11.1 내용이 낡은 주석
11.2 주석 때문에 이름을 대충 짓는 예
11.3 의도와 사양 변경 시 주의 사항을 읽는 이에게 전달하기
11.4 주석 규칙 정리
11.5 문서 주석

12장 메서드(함수): 좋은 클래스에는 좋은 메서드가 있다

12.1 반드시 현재 클래스의 인스턴스 변수 사용하기
12.2 불변을 활용해서 예상할 수 있는 메서드 만들기
12.3 묻지 말고 명령하라
12.4 커맨드/쿼리 분리
12.5 매개변수
12.6 리턴 값

13장 모델링: 클래스 설계의 토대

13.1 악마를 불러들이기 쉬운 User 클래스
13.2 모델링으로 접근해야 하는 구조
13.3 안 좋은 모델의 문제점과 해결 방법
13.4 기능성을 좌우하는 모델링

14장 리팩터링: 기존의 코드를 성장시키는 기술

14.1 리팩터링의 흐름
14.2 단위 테스트로 리팩터링 중 실수 방지하기
14.3 불확실한 사양을 이해하기 위한 분석 방법
14.4 IDE의 리팩터링 기능
14.5 리팩터링 시 주의 사항

15장 설계의 의의와 설계를 대하는 방법

15.1 이 책은 어떤 설계를 주제로 집필한 것인가?
15.2 설계하지 않으면 개발 생산성이 저하된다
15.3 소프트웨어와 엔지니어의 성장 가능성
15.4 문제 해결하기
15.5 코드의 좋고 나쁨을 판단하는 지표
15.6 코드 분석을 지원하는 다양한 도구
15.7 설계 대상과 비용 대비 효과
15.8 시간을 다스리는 능력자 되기

16장 설계를 방해하는 개발 프로세스와의 싸움

16.1 커뮤니케이션
16.2 설계
16.3 구현
16.4 리뷰
16.5 팀의 설계 능력 높이기

17장 설계 기술을 계속해서 공부하려면

17.1 추천 도서
17.2 설계 스킬을 높이는 학습 방법

저자소개

센바 다이야 (지은이)    정보 더보기
대형 전자제품 제조회사에 다니다가 현재는 주식회사 READYFOR에서 애플리케이션 아키텍트로 일하고 있다. 리팩터링, 설계와 관련된 전반적인 일을 담당하며, 계속해서 나쁜 코드와 싸우다 설계의 매력에 눈을 떴다. 틈만 나면 머릿속에서 리팩터링이 진행되는 터라, 트위터(@MinoDriven)에 프로그래밍 관련 풍자 동영상을 부정기적으로 연재도 한다. Developers Summit 2021 Summer에서 베스트 스피커 상 3위를 수상했다. 그 밖에도 여러 세미나에서 발표하고 있다.
펼치기
윤인성 (옮긴이)    정보 더보기
어쩌다가 책을 집필/번역하기 시작해서, 지금까지 계속해서 집필/번역하고 있다. 현재 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하고 있다. 오전에는 커피, 오후에는 홍차를 마신다. 요리, 피아노, 기타, 작곡, 그림, 스컬핑 등의 취미를 갖고 있다. 《HTML5 웹 프로그래밍 입문》 《혼자 공부하는 파이썬》 《모던 웹을 위한 HTML5+CSS3 바이블》 등을 저술했으며 《나의 첫 블렌더》 《프로 일러스트레이터가 알려주는 캐릭터 채색 테크닉 [결정판]》 《러닝스쿨! 한 권으로 끝내는 HTML+CSS 웹 디자인 입문》 《최신 표준 HTML+CSS 디자인》 《파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문》 《파이썬을 이용한 웹 크롤링과 스크레이핑》 《문제 해결을 위한 알고리즘 with 수학》 등을 번역했다.
펼치기

책속에서



이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책