Search

코드스피츠 강의 메모 - 디자인패턴, 뷰패턴#1

subtitle
es6 문법, 객체지향적 프로그래밍 과정
Tags
자바스크립트
Created
2021/07/16
2 more properties

프로그래밍 과정

남이 짜 놓은 코드를 볼 때 프로그래밍 언어의 문법적 요소에 휘말리지 말고 의도 파악하기
프로그래밍 과정: 필요한 기능을 먼저 선언하고, 그 다음으로 스펙을 구현한다.
ex. new Table() 먼저 선언하고, 그 다음 class Table {} 구현
중간 언어인 의사코드로 먼저 프로그래밍 절차를 기술하고 순서대로 구현한다.
인스턴스에 저장하여 참조할 수 있는 건 인자로 받지 말 것. 이미 검증을 거쳐서 인스턴스에 저장된 데이터를 내부, 외부에서 왔는지 한 번 더 검증해야하는 절차를 만들지 말자.
synctax 에러, 런타임 에러, 컨텍스트 에러: 에러를 숨겨서 다른 곳에 히스토리가 생기는 일은 없어야 한다. 웬만하면 런타임 에러에서 끝내도록 하자.

어떻게하면 거대한 프로그램을 변경시킬 수 있을까.

격리
어떤 곳을 변경해도 다른 곳에 영향을 주지 않는 것
격리 전략의 기본: "변화율에 따라 작성"
변화율: 수정 요청이 오는 빈도 or 분야
데이터가 잘못되어 수정 요청이 오는 빈도보다 디자인을 변경하는 빈도가 훨씬 많을 것
실천 수칙
강한 응집성, 약한 의존성: 한 함수가 하나의 역할만 맡는 게 이상적이나 현실에선 어려울 수 있다. 하지만 가능한 지키도록 하자.