Code Complete의 핵심은 무엇입니까? [닫은]


72

많은 사람들이 읽을 가치가있는 책으로 Code Complete를 언급한다고 들었습니다. 불행히도, 나는 너무 바빠서 읽을 시간이 없어서 누구든지이 책의 핵심 내용을 말해 줄 수 있습니까?


49
Code Complete 2의 824 페이지에서 핵심은 실제로 프로그래밍 서적을 읽어야한다는 것입니다!
azheglov

@ azheglov :이 2는 2 판 또는 2 코드 완료 2에서 코드 완료 후 읽어야합니까?
Chris

@Chris, 거의 4 년 후 : 개정판 및 개정판 2 판과 마찬가지로 2입니다. 그리고 나는 당신이 그 동안 그것을 읽었
기를 바랍니다

답변:


83

Code Complete는 소프트웨어 기술에 관한 것입니다. 이 책은 실무 프로그래머를 위해 작성된 초급 / 중급 수준의 책이지만 1 년 이상 프로그래밍 한 사람에게는 여전히 매우 유용합니다.

따라서 Code Complete (2nd ed.)의 요점은 34 장, 소프트웨어 장인 기술 테마에 잘 요약되어 있습니다. 내 노트에서 비유 한 바와 같이 :

  1. 정복 복잡성 : 훈련, 관습 및 추상화를 통해 마음에 대한인지 부하를 줄입니다.
  2. 프로세스 선택 : 시작 (요구 사항)에서 끝 (배포) 및 그 이상 (유지 관리)에 이르기까지 품질을 의식하십시오.
  3. 사람을위한 프로그램 작성 첫째, 컴퓨터 둘째 : 코드 가독성은 이해성, 검토 가능성, 오류율, 오류 수정, 수정 가능성 및 그에 따른 개발 시간 및 품질에 매우 중요합니다.
  4. 언어가 아닌 언어로 프로그램하십시오 : 무엇을 생각하십니까? 그리고 왜? 어떻게 전에?
  5. 컨벤션의 도움으로주의 집중 : 컨벤션은 필요한 곳에 구조를 제공하여 복잡성을 관리하여 궁극적 인 자원 인주의를 효과적으로 사용할 수 있습니다.
  6. 문제 영역에서의 프로그램 : 가능한 최고 수준의 추상화에서 작업; 최상위 코드는 해결중인 문제를 설명해야합니다. OS 수준, 프로그래밍 언어 수준, 낮은 수준의 구현 구조, 낮은 수준의 문제 도메인 용어 및 최종적으로 (비코 더) 사용자에게 의미가있는 높은 수준의 문제 도메인 용어를 구별합니다.
  7. Falling Rocks주의 : 프로그래밍이 예술과 과학을 통합함에 따라 경고 신호에주의를 기울이는 등 올바른 판단이 필수적입니다.
  8. 반복, 반복, 반복 및 반복 : 요구 사항, 설계, 추정, 코드, 코드 튜닝을 반복합니다.
  9. 당신은 소프트웨어와 종교를 과소 평가 해야합니다. 융통성이없는 열성적인 사람이되지 마십시오. 호기심과 학습이 불가능합니다. 툴박스에 망치를 두는 것 이상을하십시오.

그러나 가장 중요한 테이크 아웃은 33 장 개인의 성격에 있습니다 . 일단 코더로서 의식적으로 개선하려고 노력하면 할 수 있습니다. 그렇게하는 가장 빠른 방법 은 마스터 코더태도 (겸손, 호기심, 지적 정직, 훈련, 창의성) 를 취 하면서 습관을 실천하는 것입니다 (많은 좋은 습관이 책에 나열되어 있습니다. 이름).

또한이 책은 소프트웨어에서 평균과 우수한 사이의 격차가 엄청나 다는 것을 분명히한다 . 그 사실만으로도 양심적 코더가 더 나아질 수 있습니다.

그것은 부족하다. 긴 버전은 책에 있습니다. :) 또한 자세한 내용을 원하면 짧고 짧지 않은 메모를 보낼 수 있습니다. 그러나 글쓰기 스타일이 때때로 번거 롭더라도이 책은 확실히 돈과 시간이 많이 들었습니다.

코드 완성 외에도 Pragmatic Programmer를 강력히 추천 합니다. 중급 수준의 프로그래머, 훌륭하게 작성되었으며 높은 수준, 중간 수준 및 낮은 수준의 조언이 혼합되어 있습니다.


이 책이 중간 레벨의 책입니까? "사용하지 않는 변수 이름을 제거하는 것을 잊지 마십시오"와 같은 조언으로 꽤 기본적으로 보입니다. 대학 1 학년 또는 2 학년에 누군가에게 적합하지만 (IMO) 중급은 아닙니다.
Colen

1
@Colen : 귀하의 의견에 감사드립니다. 초급 초보자 / 중급 코더 용으로 지정해야합니다.
limist

10
@Colen : Code Complete는 복잡한 주제와 혼합 된 간단한 주제를 다루지 만 초보자에게는 적합하지 않습니다. 모든 레벨의 개발자라면 누구나 읽을 수 있습니다. 일부 "고급"개발자들이 기본 사항에 대해 실제로 아는 사람이 거의 없는데, 특히 그들이 한 언어로만 프로그래밍하거나 한 회사에서 전체 경력을 쌓았다면 더욱 그렇습니다.
Steve Hill

1
완전한 IMO 코드는 불필요하게 장황하므로 구매자는주의하십시오!
BKSpurgeon 2016 년

이 책의 주제를 잘 요약 한 것입니다. 짧고 짧지 않은 메모를 공유 할 수 있습니까?
Akshay Khot

18

이 책은 소프트웨어 개발 모범 사례의 포푸리 인 중급 서적입니다.

초보 프로그래머라면 많은 자료를 이해하지 못하며 경험이 있다면 책은 이미 알고있는 내용 만 확인합니다. 결과적으로,이 책은 이미 약간의 프로그래밍 지식을 가지고 있지만 그것을 모두 묶기 위해 모범 사례가 필요한 중급 프로그래머에게 가장 가치가 있습니다.

코드 블록을 형식화하는 방법과 각 방법의 상대적인 장점에 대해 여러 페이지가 사용됩니다. 개인적으로, 나는 당신의 중괄호를 어디에 둘 것인지에 대한 큰 논쟁이 끝났다고 생각합니다. (아니요?)


4
당신의 괄호는 당신에게 공감대를 얻었습니다. : p
Nathan Taylor

중괄호를 어디에 두어야합니까?
Petah
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.