반응형
2008.08.24:
내 자신에게 충고하는 설계지침.
1. 설계 없이 코딩부터 하는 습관은 이제 그만할때도 되었다.
: 머리속에 떠오른 아이디어를 바로 코드로 풀어내고 싶은 마음 안다.
하지만 이젠 노트와 팬을 잡자.
2. 처음부터 전체적인 flow를 다 고려하여 설계하자.
: 구현 스케줄의 맨 처음은 첫번째로 구현해야 할 기능이 아니라
"전체 구조 설계" 이어야 할 것이다.
지역적인 기능만 보고 구현했다가 앞 뒤 flow와 연결이 쉽지않아
갈아엎은 기억을 잊지말자.
3. 처음부터 완벽한 설계를 하려 들지 마라.
: customer의 요구사항은 언제나 변할 수 있고,
내가 spec.을 한번에 완벽분석 한다는 기적은 없다.
언제나 기능이 추가되고 확장될 수 있는 구조로 설계를 하라.
Donald Knuth의 "섣부른 최적화는 모든 악의 축이다" 를 명심하자.
4. 기능 하나하나에 집착하기 보다 전체적인 동작에 주목하자.
: 나무를 보지말고 숲을 보는것과 같다. 처음부터 기능 하나하나에
집착하여 완벽히 구현하려 하더라도 원하는 바를 이루기는 쉽지않다.
QA 테스트중 버그가 튀어 나오고 다른 기능 구현 도중 원래 기능의 변경이
필요한 경우도 종종있다.
Kent Beck의 "실행되게 하라. 그리고 올바르게 돌아가도록 만들라. 그 다음에는
빨리 실행하도록 만들라" 를 명심하자.
5. 나는 언제나 모든것을 알지는 못한다.
그러므로 규칙 5는 추가가 가능하다.
반응형
그리드형
'개발일기 > 설계와디자인' 카테고리의 다른 글
std::vector<T>::const_iterator 사용방법 설명 (0) | 2021.11.06 |
---|---|
데이터 중심 프로그래밍 (0) | 2008.09.29 |
매커니즘과 정책을 분리하라 (4) | 2008.09.01 |
댓글