[책] Code Complete, 2nd Ed. Steve McConnell, 2005
Summary
- 부제: 소프트웨어 구현에 대한 실무서
- 주요내용: SW 구현 및 설계 전반에 대한 실용적인 생각들을 상세하고 쉽게 제시하고 있음
Reference
Note
- - 2장. 소프트웨어 개발의 이해를 돕기 위한 비유: 실생활 및 이론적인 비유를 통한 모델 설명의 중요성
- . Thomas Kuhn, the structure of scientific revolutions, 3rd ed. 1996: 과학에서 비유와 모델, 그리고 패러다임이 뜨고 지는 예제들이 실려 있다고 함
- - 3.3장: 문제 정의는 전체적인 프로그래밍 프로세스를 위한 기초 공사임.
- . 활을 쏘기 전에 무엇을 조준하고 있는 지 알아야 함
- . 요구사항은 물과 같아서, 얼었을 때 그 위에 만들기가 쉽다.
- . 만약 요구사항이 충분하지 않다면, 작업을 멈추고 백업한 다음, 요구사항을 먼저 올바르게 수정해야 한다. 서울에서 부산으로 차를 타고 이동할 때, 인천으로 향하는 표지판을 본다면, 잠시 멈춰서 지도를 살펴보는 것이 시간 낭비일까?
- - 7.3장: 좋은 루틴 이름
- - 7.4장: 루틴의 길이
- . 200줄 이상 긴 루틴에서는 이해하기 쉽지 않고, 오류 발생률 높다.
- -10.3장: 변수의 초기화에 대한 지침
- -10.4장: 범위
- . 변수에 대한 참조를 지역화하라
- . 변수의 수명을 가능한 한 짧게 유지하라.
- -12.4장: 문자와 문자열
- . C 언어에서의 문자열: 문자열 포인터와 문자 배열의 차이점 이해
- . 문자 배열은 선언할 때 0으로 초기화 (예: char exam[MAX_LENGTH+10 = {0};
- - 13.2장: 포인터 문제를 피하기 위한 커버(Cover) 루틴 작성 (예: SAFE_DELETE)
- - 16.2장: 루프의 제어
- . 루프가 시작하기 바로 전에 초기화 코드를 입력
- -19.1장: 불린 표현식
- . 숫자는 0에 명시적으로 비교하라
- . C 언어에서는 문자를 널 종결자('\0')에 명시적으로 비교하라
- . 포인터를 NULL에 비교하라
- - 20장. 소프트웨어 품질
- . IEEE의 SW 관련 표준: 730, 1061, 1028, 1008, 829
- -24.2장: 리팩토링
- . '팩토링' - 프로그램을 가능한 한 구성 요소들로 분해하는 것 (Yourdon, Constantine, 1979)
- . '리팩토링' - 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구졸르 변경한 것 (Martin Fowler, 1999)
- -32.5장: 주석
- . 단락 주석을 작성할 때, 방법보다는 그 이유를 집중적으로 다루어라
- - 32.6장: IEEE 표준
- . 1016: Recommended Practice for Software Design Descriptions
- . 1063: Standard for Software User Documentation
- . 1061: Standard for a Software Quality Metrics Methodology
- - 35.4장: 소프트웨어 개발자의 독서 계획
댓글 없음:
댓글 쓰기