프로그래머가 알아야 할 97가지 (Kevlin Henney, 2012)

시나리오/게임기획|2022. 9. 30. 21:00

책소개
이 땅의 모든 프로그래머에게 전하는 현장의 지혜를 담은 107가지 의미있는 이야기가 담긴 책. 다양한 프로그래머들의 지혜와 경험의 목소리를 담은 책으로, 모든 프로그래머가 알아야 하는 것의 큰 그림으로서 크라우드 소싱 모자이크로 구성된 내용에서는 코드에 대한 조언에서 문화까지, 알고리즘의 사용에서 애자일적 생각까지, 구현 노하우에서 전문성까지, 그리고 스타일에서 본질까지 다룬다.


목차
신중하게 행동하라 Seb Rose
함수형 프로그래밍 법칙을 적용하라 Edward Garson
당신은 사용자가 아니다 Giles Colborne
코딩 표준을 자동화하라 Filip van Laenen
아름다움은 단순함에 있다 Jørn Ølmheim
리팩토링하기 전에 Rajith Attapattu
공용화에 대해 주의하라 Udi Dahan
보이스카웃 규칙 Robert C. Martine(Uncle Bob)
다른 사람을 비난하기 전에 먼저 자신의 코드를 리뷰하라 Allan Kelly
심사숙고해서 도구를 선택하라 Giovanni Asproni
도메인 언어로 코딩하라 Dan North
코드는 설계다 Ryan Brush
코드 레이아웃은 중요하다 Steve Freeman
코드 리뷰 Mattias Karlsson
이치에 맞는 코딩 Yechiel Kimchi
주석에 관한 조언 Cal Evans
단지 코드가 말하지 않는 것을 주석으로 추가하라 Kevlin Henney
끊임없는 배움 Clint Shank
편리함은 명사형이 아니다 Gregor Hohpe
자주 빠르게 릴리즈하라 Steve Berczuk
상황에 맞는 예외처리가 필요하다 Dan Bergh Johnsson
많은 의도적 수련-계획된 연습을 하라 Jon Jagger
도메인에 특화된 언어들 Michael Hunger
부수는 것을 두려워하지 마라 Mike Lewis
테스트 데이터를 속이지 마라 Rod Begbie
에러는 발견 즉시 고쳐라 Pete Goodliffe
언어만 배우지 말고 문화를 배워라 Anders Noras
프로그램을 너무 높은 곳에 매달아 못박지 마라 Verity Stob
기적이 일어난다는 생각을 버려라 Alan Griffiths
중복을 제거하라 Steve Smith
그 코드를 건드리면 안 된다 Cal Evans
상태뿐 아니라 행위까지도 캡슐화하라 Einar Landre
부동소수점 수는 실수가 아니다 Chuck Allison
오픈 소스를 통해 잠자고 있는 열망을 이뤄라 Richard Monson-Haefel
API 설계의 황금률 Michael Feathers
구루에 대한 근거 없는 믿음 Ryan Brush
고생은 성과를 내지 못한다 Olve Maudal
버그 트래커를 이용하는 방법 Matt Doar
제거를 통해 코드를 개선하라 Pete Goodliffe
나를 인스톨하라 Marcus Baker
프로세스간 통신은 응용프로그램 반응 시간에 영향을 미친다 Randy Stafford
빌드를 깨끗하게 유지하라 Johannes Broadwall
커맨드라인(command line) 도구 사용법을 알아라 Carroll Robinson
두 개 이상의 프로그래밍 언어를 습득하다 Russel Winder
자신의 통합 개발 환경을 이해하라 Heinz Kabutz
자신의 한계를 알아라 Greg Colvin
다음 커밋을 알아라 Dan Bergh Johnsson
서로 연결된 큰 데이터는 데이터베이스에 속한다 Diomidis Spinellis
다른 세계의 언어를 배워라 Klaus Marquardt
예측하는 것을 배워라 Giovanni Asproni
‘Hello World’를 작성하는 것을 배워라 Thomas Guest
프로젝트가 스스로 말할 수 있게 하라 Daniel Lindner
링커는 마법의 프로그램이 아니다 Walter Bright
임시 솔루션의 장수 Klaus Marquardt
정확한 사용이 쉽고, 잘못된 사용이 어려운 인터페이스를 만들어라 Scott Meyers
보이지 않는 것을 더 잘 보이게 하라 Jon Jagger
병렬 시스템에서 메시지 전달 방식은 더 나은 확장성을 제공한다 Russel Winder
미래로의 메시지 Linda Rising
다형성을 고려하지 않아 놓쳐 버린 기회들 Kirk Pepperdine
이상한 뉴스: 테스터는 여러분의 친구다 Burk Hufnagel
하나의 바이너리 Steve Freeman
오직 코드만이 진실을 말한다 Peter Sommerlad
빌드를 소유하라 (그리고 재작성하라) Steve Berczuk
짝 프로그래밍으로 흐름을 느껴라 Gudny Hauknes, Kari Røssland, Ann Katrin Gagnat
원시 타입보다 도메인에 특화된 타입을 선호하라 Einar Landre
에러를 예방하라 Giles Colborne
프로페셔널 프로그래머 Robert C. Martin(Uncle Bob)
모든 것의 버전을 관리하라 Diomidis Spinellis
마우스를 내려 놓고 키보드에서 떨어져라 Burk Hufnagel
코드를 읽어라 Karianne Berg
인문학을 읽어라 Keith Braithwaite
처음부터 다시 개발하라 Jason P. Sage
싱글톤 패턴의 유혹을 견뎌라 Sam Saariste
좋은 성능에 이르는 길에는 더러운 코드 폭탄이 곳곳에 도사리고 있다 Kirk Pepperdine
단순함은 제거로부터 온다 Paul W. Homer
단일 책임의 원칙 Robert C. Martin(Uncle Bob)
“예”로 시작하라 Alex Miller
한 걸음 물러서라. 그리고 자동화, 자동화, 또 자동화를 하라 Cay Horstmann
코드 분석 도구를 활용하라 Sarah Mount
부수적 행위가 아닌, 실제 요구된 행위에 대해 테스트를 수행하라 Kevlin Henney
테스트를 명확하고 구체적으로 작성하라 Kevlin Henney
당신이 자는 동안(그리고 주말 동안) 테스트를 수행하라 Rajith Attapattu
테스팅은 소프트웨어 개발의 엔지니어링 리거다 Neal Ford
상태에 대해 생각하기 Niclas Nilsson
종종 한 사람보다 두 사람이 낫다 Adrian Wible
두 번의 잘못이 옳은 것을 만들 수 있다(그리고 이것은 고치기 어렵다) Allan Kelly
친구들을 위한 우분투 코딩 Aslam Khan
유닉스 도구는 여러분의 친구다 Diomidis Spinellis
올바른 알고리즘과 자료 구조를 사용하라 Jan Christiaan “JC”van Winkel
장황한 로깅은 잠을 방해할 것이다 Johannes Brodwall
WET은 성능 병목을 찾기 힘들게 한다 Kirk Pepperdine
프로그래머와 테스터가 협업할 때 Janet Gregory
마치 평생 지원해야 하는 것처럼 코드를 작성하라 Yuriy Zubarev
예를 사용해 작은 함수를 작성하라 Keith Braithwaite
사람들을 위해 테스트를 작성하라 Gerard Meszaros
코드에 주의를 기울여라 Pete Goodliffe
고객이 말한 것과 의도한 것은 다르다 Nate Jackson

한국의 프로그래머들
개발자로 늙고 싶다면 코딩(코더)에서 벗어나라 강승준
과거에서 미래를 찾아라 고재관
훌륭한 소프트웨어를 개발하기 위해 필요한 것들 김병곤
잘못 알려진 디자인 패턴의 두번째 원칙 손영수
좋은 소프트웨어의 개발은 서로를 이해하면서 시작된다 송홍진
개발자 - "?" = 0 유명환
피드백 유석문
너의 언어는 너의 사고의 한계이다 장선진
개발자들이 가져야 할 것들 장회수
공유하고 연대해라 조정현

댓글()