요구사항이 항상 바뀔꺼라고 생각하고 확장성이 좋게 만들어야 하기 때문이야.
예를 들면 여자랑 섹스 하는 걸 프로그램으로 만든다고 쳐봐 (니들이 좋아하는 거라 예를 이리 든다~ 물론 나도 좋아함 탁탁)
단순하게는 순서가 이리 되겠지??
1. 여자를 만난다.
2. 남여가 심장이 바운스된다
3. 폭풍 섹스를 한다.
하지만 현실은 이리 단순하지가 않아. 세세하게 확장을 해야지
1. 여자를 만난다.
1-1 : 여자의 호감을 사귀 위해 유머를 추가한다(유머 모듈)
1-2 : 여자가 유머를 싫어하는 경우 진지함을 추가한다(진지함 모듈)
1-3 : 여자가 먹는걸 좋아하는 경우 맛집을 검색한다(맛집 모듈)
.....
1-32: 여자가 옷을 좋아하면 패션 감각을 올린다(패션모듈)
하여튼 이런 식으로 여자를 만난다는 몸체(?)에 이것 저것 옵션을 붙여야 하는 경우가 많단 말이지
그럴려면 유연하게 만들어야 해 언제든지 모듈을 추가하거나 삭제할 수 있도록
모듈끼리 충돌나서도 안되고 서로 영향을 끼쳐서도 안되
이런걸 계획하고 미리 예측해서 코딩 시작해도 분명히 문제가 생기는데
내가 지금까지 체험한 업체들은 이런 설계 내역 자체가 걍 모호하게 있었어(없는 경우도 태반)
예를 들자면 이런 식이야.
국민들의 거래 내역을 db에 암호화해서 저장한다.
이게 끝 -_-
이러니 해석하는 개발자들도 자기 방식대로 만들고 나중에 합치려고 하면 충돌나고 에러 나고 난리 부르스가 나는거임
오죽하면 잘 돌아가는 프로그램은 건들이지마 이런 소리가 나오겠냐....;;
잘 돌아간다 = 괜히 건들여서 뭔가 하지 말고 걍 땜빵해라
1줄 요약: 쎅쓰나 하자.
댓글 0