본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

프로그래밍의 규칙 상세페이지

컴퓨터/IT 개발/프로그래밍

프로그래밍의 규칙

더 나은 코드를 작성하는 21가지 개발 비법
소장종이책 정가32,000
전자책 정가20%25,600
판매가25,600
프로그래밍의 규칙 표지 이미지

프로그래밍의 규칙작품 소개

<프로그래밍의 규칙> 고스트 오브 쓰시마, 슬라이 쿠퍼 등 세계적인 게임의 제작사, ‘서커펀치’의 프로그래밍 기술을 엿보다!
* 파이썬, 자바스크립트 개발자를 위한 C++ 코드 읽기 가이드 수록

이 책은 전 세계적으로 천만 장 가까이 판매된 메가 히트 게임, <고스트 오브 쓰시마>와 <슬라이 쿠퍼> 시리즈로 유명한 ‘서커펀치’의 프로그래밍 모범 사례를 21가지로 엮은 책입니다. 총 21개의 ‘규칙’으로 구성된 이 책에는 모든 프로그래머가 알아야 할 필수 지식과 개발 아이디어를 자극하는 인사이트가 가득 담겨 있습니다. 또한, 코드를 작성할 때뿐만 아니라, 디버깅과 최적화 관련 지식도 함께 다루고 있어서 게임 분야에 국한되지 않고, 모든 분야의 프로그래머에게 유용한 지식을 제공합니다. 이 책에 담긴 ‘서커펀치’만의 프로그래밍 비법을 익혀 프로그래밍 전문가에 한 발짝 더 다가가세요.


출판사 서평

창립 이후, 25년간 쌓아 올린 ‘서커펀치’의 프로그래밍 문화
세계적인 게임 제작사가 전하는, 프로그래밍의 규칙!

모든 분야에는 저마다의 규칙이 있습니다. 그 규칙의 대부분은 오랜 시간 수많은 실패와 좌절을 통해 얻은 교훈으로 만들어지죠. 따라서 그 규칙을 보면, 해당 팀 혹은 회사의 발자취를 볼 수 있습니다. 이 책은 전 세계적인 메가 히트 게임, <고스트 오브 쓰시마>를 만든 ‘서커펀치 프로덕션’의 21가지 프로그래밍 규칙을 다룹니다. 이 규칙들은 ‘서커펀치’의 문화를 대변하며, 그들을 성공으로 이끈 비법을 뜻하기도 합니다.

총 21가지 규칙을 하나씩 설명하고, 해당 규칙 이면에 있는 인사이트를 확인할 수 있는 다양한 예제도 함께 제공합니다. 이를 통해 각 장을 마칠 때마다 해당 규칙이 장려하는 코딩 관습과 규칙을 적용할 수 있는 상황을 명확하게 이해할 수 있습니다. 또한 '파이썬', '자바스크립트' 개발자를 위한 C++ 코드 읽는 법을 부록으로 추가해 이 책을 이해할 수 있는 전반적인 지식도 수록했습니다.


주요 목차
최대한 단순하게, 그러나 너무 단순하지 않게
코드가 스스로 이야기하게 하라
복잡성을 격리하라
일반화에는 세 가지 사례가 필요하다
코드가 아닌 결과에서부터 작업하라


추천사
이 책의 조언을 따르면 코딩할 때 실수할 가능성이 줄어들고 ‘일이 되는’ 코드를 작성할 수 있어 프로그램의 품질과 생산성이 향상될 것입니다.
- 이브이알스튜디오, 이주영

이 책은 품질 높은 소프트웨어를 지향하는 개발자에게 귀중한 지침서입니다.
- 메가존클라우드 아키텍트, 윤명식

개발자라면 이 책을 곁에 두고 읽기를 추천합니다.
- 데브구루, 유형진

이 책은 코딩의 항상성을 위해 지켜야 할 규칙을 담고 있습니다. 저자의 말처럼 이 책에서 소개한 규칙이 진리는 아니지만, 프로그래머라면 곱씹어볼 만한 가치가 충분합니다.
- 소프트웨어 개발자, 윤병조

광활한 프로그래밍의 세계를 즐겁고 힘겹게 여행하고 있는 저를 비롯한 모든 개발자에게 이 책은 나침반과 같은 역할을 할 것입니다.
- 삼성전자 VD사업부 Security Lab, 최성욱

이 책의 저자는 오랫동안 개발자로 일하면서 경험한 실패 그리고 그러한 실패를 막을 수 있는 규칙을 통해 좌절을 최대한 피할 수 있는 길로 독자를 안내합니다.
- 테크 리더, 구인회

이 책은 자체적인 규칙을 갖추고 있지 않거나 보완해야 할 회사에는 가이드라인을 제시하고, 더 나은 코드를 작성하고자 하는 개발자에게는 이정표가 되어줄 것입니다.
- 현대오토에버, 이태우

저는 이 책을 우리 팀원들과 함께 읽고 싶습니다. 팀원들과 함께 규칙을 읽어보며 팀이 다루는 코드베이스에 어떻게 적용할 수 있을지 논의한다면, 팀원 모두가 성장하고 담당 코드의 완성도를 높이는 데 큰 도움이 될 것입니다.
- 이스트시큐리티, 김기덕


저자 프로필

크리스 짐머만 Chris Zimmerman

  • 경력 서커펀치프로덕션 스튜디오 책임자

2024.05.21. 업데이트 작가 프로필 수정 요청

세계적으로 유명한 서커펀치프로덕션의 공동 설립자이자 스튜디오 책임자입니다. <슬라이 쿠퍼> 시리즈, <인퍼머스> 시리즈, <고스트 오브 쓰시마>를 제작했습니다.


저자 소개

지은이 크리스 짐머만(Chris Zimmerman)
세계적으로 유명한 서커펀치프로덕션의 공동 설립자이자 스튜디오 책임자입니다. <슬라이 쿠퍼> 시리즈, <인퍼머스> 시리즈, <고스트 오브 쓰시마>를 제작했습니다.

옮긴이 박상현
반도체 공정 자동화, 통신 장비, 방공무기체계, 사이버 시큐리티, SaaS 분야에서 소프트웨어를 개발해왔으며, 현재 캘리포니아 소재 스타트업에서 소프트웨어 엔지니어로 일하고 있습니다. 대학원에서 우연히 인공지능을 만나 깊이 공부하고, 그 지식을 살려 『그로킹 딥러닝』(2020 세종 학술부문 우수 도서)을 번역했습니다. 대표 저서로 『이것이 C#이다(3판)』(2023), 『이것이 자료구조 + 알고리즘이다 with C 언어』(2022) 등이 있습니다.

목차

규칙 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++ 코드 읽기
_타입
_배열
_클래스
_선언과 정의
_함수 오버로딩
_템플릿
_포인터와 참조


리뷰

구매자 별점

5.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

1명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
앱으로 연결해서 다운로드하시겠습니까?
닫기 버튼
대여한 작품은 다운로드 시점부터 대여가 시작됩니다.
앱으로 연결해서 보시겠습니까?
닫기 버튼
앱이 설치되어 있지 않으면 앱 다운로드로 자동 연결됩니다.
모바일 버전