개요

  • 저자는 Steve-McConnell.
  • 제 4 회 Jolt-Award를 수상한 책.
  • 정보문화사의 한국어 번역본이 있었으나 오랫동안 절판이었다가, 2017년 7월 27일 위키북스에서 다시 출간했다.
  • 분량이 상당하다. 내가 갖고 있는 정보문화사 판은 1181쪽이다. 위키북스에서 나온 판은 1000쪽.

인용

  • Chapter 5. 구현 설계 - 5.2 설계의 핵심 개념

Dijkstra는 현대적인 컴퓨터 프로그램을 보관할 수 있을 만큼 큰 두뇌를 가진 사람은 아무도 없다고 지적한 바 있다. 이 말은 곧 소프트웨어 개발자인 우리들이 절대로 전체 프로그램을 억지로 한번에 두뇌에 밀어 넣으려고 해서는 안 된다는 것을 의미한다. 즉, 우리가 한번에 한 부분을 제대로 집중할 수 있게 프로그램을 구성하도록 노력해야 한다는 것을 의미한다. 최종 목표는 한번에 생각해야 하는 프로그램의 양을 최소화하는 것이다.

인간은 복잡한 부분 하나보다 여러 개의 간단한 정보를 더 빠르게 이해한다. 모든 소프트웨어 설계 기술의 목표는 복잡한 문제를 간단한 부분으로 나누는 것이다. 서브시스템이 독립적일수록, 보다 안전하게 한 번에 복잡한 부분의 한 부분을 집중적으로 살펴볼 수 있다. 주의 깊게 정의된 객체는 한 번에 하나의 기능에만 집중할 수 있도록 작업을 분할한다.

  • Chapter 33. 개인 성격 - 33.3 호기심

만약 훌륭한 프로그래밍 책을 두 달마다 읽는다면(대개 일주일에 35페이지 정도), 여러분은 곧 이 산업을 확실히 이해하게 되고 다른 사람과 차별화될 것이다.

  • Chapter 33. 개인 성격 - 33.9 습관

여러분이 하는 분야에서 좋거나 나쁘게 되는 주된 방법은, 건축가는 건물을 지으면서 프로그래머는 프로그래밍을 작성하는 것과 같이 무언가를 함으로써 결정된다. 여러분이 하는 것은 습관이 되고, 시간이 지나면 습관이 좋은지 아니면 나쁜지가 좋은 프로그래머인지 아닌지를 결정한다.

빌 게이츠는 계속해서 훌륭한 프로그래머가 될 사람은 처음 몇 년 동안에도 훌륭한 프로그래머라고 말한다.