상세정보
미리보기
프로그래밍의 규칙 : 더 나은 코드를 작성하는 21가지 개발 비법
- 저자
- 크리스 짐머만 저/박상현 역
- 출판사
- 한빛미디어
- 출판일
- 2024-05-20
- 등록일
- 2024-06-13
- 파일포맷
- PDF
- 파일크기
- 4MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
고스트 오브 쓰시마, 슬라이 쿠퍼 등 세계적인 게임의 제작사, ‘서커펀치’의 프로그래밍 기술을 엿보다!파이썬, 자바스크립트 개발자를 위한 C++ 코드 읽기 가이드 수록이 책은 전 세계적으로 천만 장 가까이 판매된 메가 히트 게임, [고스트 오브 쓰시마]와 [슬라이 쿠퍼] 시리즈로 유명한 ‘서커펀치’의 프로그래밍 모범 사례를 21가지로 엮은 책이다. 총 21개의 ‘규칙’으로 구성된 이 책에는 모든 프로그래머가 알아야 할 필수 지식과 개발 아이디어를 자극하는 인사이트가 가득 담겨 있다. 또한, 코드를 작성할 때뿐만 아니라, 디버깅과 최적화 관련 지식도 함께 다루고 있어서 게임 분야에 국한되지 않고, 모든 분야의 프로그래머에게 유용한 지식을 제공한다. 이 책에 담긴 ‘서커펀치’만의 프로그래밍 비법을 익혀 프로그래밍 전문가에 한 발짝 더 다가가자.
저자소개
세계적으로 유명한 서커펀치프로덕션의 공동 설립자이자 스튜디오 책임자. [슬라이 쿠퍼] 시리즈, [인퍼머스] 시리즈, [고스트 오브 쓰시마]를 제작했다.
목차
규칙 1 최대한 단순하게, 그러나 너무 단순하지 않게_단순성 측정하기_그러나 너무 단순하지 않게_문제를 단순화하는 것이 솔루션보다 나을 때가 있다_단순한 알고리즘_흐름을 놓치지 말라_모든 규칙을 지배하는 단 하나의 규칙규칙 2 버그는 전염된다_사용자를 믿지 말라_자동화 테스트는 까다롭다_상태를 유지하지 않는 코드는 테스트하기 쉽다_제거할 수 없는 상태는 감사하라_내 코드를 사용하는 동료를 믿지 말라_코드를 건강하게규칙 3 좋은 이름은 최고의 문서다_글자 수를 줄이는 것은 최적화가 아니다_코딩 컨벤션을 믹스앤드매치하지 말라_제 무덤을 파지 말라_생각하게 하지 말라규칙 4 일반화에는 세 가지 사례가 필요하다_필요하지 않으면 구현하지 말라_이의 있다고요? 저는 아주 확고합니다_섣부른 일반화는 정말 나쁘다_이것이 성공은 아니다규칙 5 첫 번째 최적화 교훈: 최적화하지 말라_첫 번째 최적화 교훈_두 번째 최적화 교훈_두 번째 최적화 교훈 시험해보기_다섯 단계 최적화 과정 적용하기_세 번째 최적화 교훈은 없다간주 규칙 5에 대한 비판을 중심으로규칙 6 코드 리뷰의 세 가지 장점_코드 리뷰는 지식 공유다_금지된 코드 리뷰_코드 리뷰의 진정한 가치_코드 리뷰는 본질적으로 사회적 활동이다규칙 7 실패 케이스를 제거하라_잘못 사용하면 제 무덤 파기 쉬운 함수_나도 모르게 내 무덤 파기_컴파일러의 도움 받기_타이밍이 전부다_더 복잡한 예제_순서 실수를 불가능하게 만들기_메서드 체이닝 대신 템플릿 사용하기_상태 제어 조율하기_실수를 발견하는 것도 좋지만, 실수를 방지하는 것이 더 좋다규칙 8 실행되지 않는 코드는 작동하지 않는다_1단계: 단순한 시작_2단계: 대표적인 패턴 일반화하기_3단계: 위장 추가하기_4단계: 뿌린 대로 거둔다_책임 따지기_테스트의 한계규칙 9 요약 가능한 코드를 작성하라_실패란 이런 느낌이다_단기 기억의 역할_경계선을 그어야 하는 곳_추상화의 비용_이해하기 쉽도록 추상화를 사용하라_장기 기억의 역할_상식은 공짜지만 새로운 지식은 비싸다_단기 기억과 장기 기억을 함께 활용하라규칙 10 복잡성을 격리하라_간단한 예제_내부 세부 사항 숨기기_상태 분산과 복잡성_능력 복원?_안개가 끼기 시작하다_접근법 다시 생각해보기_격리된 복잡성, 단순한 상호작용규칙 11 두 배 좋은가_앞으로 전진하는 세 가지 길: 무시, 미세 조정, 리팩터링_점진적 진화 vs 지속적 재발명_간단한 기준 하나_애매한 혜택 다루기_재작업은 작은 문제를 정리할 좋은 기회다규칙 12 큰 팀에는 강력한 컨벤션이 필요하다_형식화 컨벤션_언어 사용 컨벤션_문제 해결 컨벤션_효율적인 팀은 같은 방식으로 생각한다규칙 13 산사태를 일으킨 조약돌을 찾으라_버그의 생애 주기_상태의 가짓수 최소화하기_제거할 수 없는 상태 다루기_피할 수 없는 지연 다루기규칙 14 네 가지 맛의 코드_쉬운 문제와 단순한 솔루션_쉬운 문제와 세 가지 복잡한 솔루션_복잡성에 따르는 비용_프로그래머의 네 가지(실제로는 세 가지) 유형_어려운 문제와 작동하지 않는 약간 복잡한 솔루션_어려운 문제와 약간 복잡한 솔루션_어려운 문제와 단순한 솔루션규칙 15 잡초를 뽑으라_잡초 식별하기_코드는 어떻게 잡초로 덮이는가규칙 16 코드가 아닌 결과에서부터 작업하라_한 가지 예제_짜증 나는 일_골짜기의 끝 선택하기_뒤로 작업해나가기_완전히 다른 무언가를 위해_앞으로 작업하기와 거꾸로 작업하기규칙 17 더 쉽게 해결되는 큰 문제도 더러 있다_제대로 착지하기_올바른 방향 찾기_기회 포착하기규칙 18 코드가 스스로 이야기하게 하라_사실이 아닌 이야기는 하지 말라_이야기에는 목적이 있어야 한다_좋은 스토리텔링규칙 19 평행 재작업_뜻밖의 문제_평행 시스템을 구축하라_구체적인 예시_실전에서의 스택 할당_불안 요소_좀 더 영리하게 스택 컨텍스트 만들기_이전 스택 컨텍스트를 새 스택 컨텍스트로 마이그레이션하기_StackVector 마이그레이션 준비하기_마이그레이션할 시간_평행 재작업 전략을 적용하기 좋은 상황규칙 20 계산하라_자동화할 것인가, 하지 않을 것인가, 그것이 문제로다_절대적 한계 조사하기_계산이 달라질 때_계산 문제가 다시 MS 워드 문제로 바뀔 때규칙 21 때로는 못질을 해야 한다_새로운 인수 추가하기_버그가 하나뿐일 리 없다_자동화의 경고음_파일 크기 관리하기_지름길은 없다결론 자신의 규칙을 만들라_자신의 판단을 믿으라_토의하라_끝맺음부록 A 파이썬 프로그래머를 위한 C++ 코드 읽기_타입_형식화와 주석_클래스_가시성_선언과 정의_함수 오버로딩_템플릿_포인터와 참조부록 B 자바스크립트 프로그래머를 위한 C++ 코드 읽기_타입_배열_클래스_선언과 정의_함수 오버로딩_템플릿_포인터와 참조