Code Complete 2

[Code Complete 2] 구현 설계 - 1

설계란? 소프트웨어에 대한 명세를 동작 가능한 소프트웨어로 변환 하기위한 계획에 대한 구상을 뜻한다. 훌륭한 상위 수준 설게는 여러 개의 하위 수준 설계를 무리 없이 담을 수 있는 구조를 제공한다. 훌륭한 설계는 규모가 큰 프로젝트에서는 꼭 필요한 작업이며 작은 프로젝트에서도 유용하다. 설계는 사용자의 요구사항에 따라 계속 바뀐다. 그래서 어렵다. 설계의 어려움 1. 설계란는 절충과 우선순위의 문제다. 설계자의 주요 업무중 하나가 서로 상충하는 설계 특징을 비교하여 그 특성들 사이에 균현을 맞추는 일이다. 빠른 응답 속도가 개발 시간을 최소하는 것보다 중요하다면 설계자는 그에 맞는 설계를 선택 할 것이다. 2. 설계에는 제약이 따른다. 설계의 핵심은 어느 정도는 가능성을 만들고 어느 정도는 가성능성 제한..

[Code Complete 2] 구현시 결정해야 할 핵심 사항

언어 프로그래밍의 목적에 따라 언어를 잘 골라야 하지만 대부분 고수준의 언어가 생산성이 좀더 좋다. 그리고 생성성이 비슷 하다면 익숙한 언어를 사용하는게 효율 성이 훨씬 좋다고 한다. 마지막으로 모든 프로그래밍 언어에는 장단점이 있다. 그걸 알고 모르고는 개발 생산성에 큰 영향을 미친다고 본다. 프로그래밍 규약 품질이 우수한 소프트웨어는 아키텍처의 개념적 무결성과 저수군 구현 사이의 관계가 명확하다. 구현은 반드시 아키텍처와 일관성을 유지해야 하며 내 부적으로도 일관선을 유지해야한다. 그것이 바로 변수 이름과 루틴 이름, 형식 규약, 주석 규약에 대하나 가이드라인의 핵심이다. - 아키텍처 가이드라인을 통해서 프로그램 구조적인 균형을 유지 - 구현 가이드라인을 통해서 각 클래스가 전체 적인 설계의 구성원으..