요구사항이 항상 바뀔꺼라고 생각하고 확장성이 좋게 만들어야 하기 때문이야.


예를 들면 여자랑 섹스 하는 걸 프로그램으로 만든다고 쳐봐 (니들이 좋아하는 거라 예를 이리 든다~ 물론 나도 좋아함 탁탁)


단순하게는 순서가 이리 되겠지??


1. 여자를 만난다.

2. 남여가 심장이 바운스된다

3. 폭풍 섹스를 한다.


하지만 현실은 이리 단순하지가 않아. 세세하게 확장을 해야지


1. 여자를 만난다.

1-1 : 여자의 호감을 사귀 위해 유머를 추가한다(유머 모듈)

1-2 : 여자가 유머를 싫어하는 경우 진지함을 추가한다(진지함 모듈)

1-3 : 여자가 먹는걸 좋아하는 경우 맛집을 검색한다(맛집 모듈)

.....

1-32: 여자가 옷을 좋아하면 패션 감각을 올린다(패션모듈)


하여튼 이런 식으로 여자를 만난다는 몸체(?)에 이것 저것 옵션을 붙여야 하는 경우가 많단 말이지

그럴려면 유연하게 만들어야 해 언제든지 모듈을 추가하거나 삭제할 수 있도록

모듈끼리 충돌나서도 안되고 서로 영향을 끼쳐서도 안되


이런걸 계획하고 미리 예측해서 코딩 시작해도 분명히 문제가 생기는데


내가 지금까지 체험한 업체들은 이런 설계 내역 자체가 걍 모호하게 있었어(없는 경우도 태반)


예를 들자면 이런 식이야.


국민들의 거래 내역을 db에 암호화해서 저장한다.


이게 끝 -_-


이러니 해석하는 개발자들도 자기 방식대로 만들고 나중에 합치려고 하면 충돌나고 에러 나고 난리 부르스가 나는거임


오죽하면 잘 돌아가는 프로그램은 건들이지마 이런 소리가 나오겠냐....;;


잘 돌아간다 = 괜히 건들여서 뭔가 하지 말고 걍 땜빵해라


1줄 요약: 쎅쓰나 하자.