Clean Software
[이름] 통일된, 의미있는, 쉬운, 표준의, 이름(단어) 짓기
개발전 준비사항 1. 프로젝트 의도와 목적과 기능을 파악 2. 단어사전 만들기 - 의도를 분명히 밝혀라 - 표준 단어를 사용하자 - 한 개념에 한단어 - 개발중 유의사항 1. 변수 이름 - 변수의 기능과 역할을 생각하여 뜻을 찾자 - 먼저 단어사전을 찾아보자 - 변수의 프로그램적 특성(멤버, 전역 등..)을 고려한다. 2. 클래스 이름은 명사구 (클래스는 하나의 책임(변경의 이유가 하나다)만 진다.) 3. 메서드 이름은 동사구 (함수는 하나의 기능만 수행해야한다.) get/set/is 사용
프로그래밍 패러다임 변천사
구조적 프로그래밍 제어흐름의 직접적인 전환에 대해 규칙을 부과한다. 객체지향 프로그랭 제어흐름의 간접적인 전환에 대해 규칙을 부과한다. 함수형 프로그래밍 할당문에 대해 규칙을 부과한다. 각 아키텍처의 패러다임은 무엇을 해야할지가 아닌 무엇을 해서는 안되는지를 말해준다. 각 패러다임은 goto문 함수 포인터, 할당문을 앗아갔다. 아키텍처의 경계를 넘나들기 위한 메커니즘으로 다형성을 이용한다. ㅅ함수형프로그래밍을 이용하여 데이터의 위치와접근 방법에 대해 규칙을 부과한다. 모듈기반 알고리즘으로 구조적프로그래밍을 사용한다. 세가지 패러다임과 아키텍처의 세가지 큰 관심사(함수, 컴포넌트분리, 데이터관리)가 어떻게 서로 연관되는지에 주목하자. 구조적 프로그래밍 goto가 모뮫을 더 작은 단위로 재귀적으로 분해나는 ..