💡 행위 & 아키텍쳐에 대해
- 행위 / 아키텍쳐 → 소프트웨어 개발자가 반드시 지켜야 할 두가지 가치
- 두가지 모두 지키는 것이 개발자의 의무
행위
- 이해관계자를 위해 수익을 창출하거나 비용을 절약하도록 코드를 작성하는 것
- 기능 구현에 해당하는 의미
- 많은 개발자가 행위가 개발자의 모든 작업에 해당한다고 생각하지만, 그렇지 않음
아키텍쳐
- 유지보수가 쉬운 코드, 구조를 위해 시간을 쏟는 것
- 리팩터링 / 아키텍쳐 설계에 해당하는 의미
- 기능 수정, 코드 변경이 쉽지 않다면 소프트웨어의 의미가 퇴색된 경우
- 소프트웨어란, 하드웨어와 다르게 변경이 쉬워야만 함
- 아키텍쳐는 형태( 기능구현 )에 독립적이어야 하고 그럴수록 더 실용적임
행위 / 아키텍쳐 어떤 것이 더 중요한가
- 글쓴이는 극단적인 예시를 듬
- 수정이 절대 불가능하지만, 기능이 잘 동작하는 소프트웨어 vs 기능 수정은 매우 쉽지만 기능이 아무것도 동작하지 않는 소프트웨어
- 글쓴이는 후자의 경우엔 단순 기능 수정만 하면 되지만, 전자의 경우는 다른 기능을 추가 할 수 없고 버그를 수정 할 수 없으므로 후자의 경우가 훨씬 좋은 소프트웨어라 말함
- 따라서 아키텍쳐에 시간을 쏟는 것이 중요한 일이며, 기능 개발은 그 후순위라 말하고 있음
<aside>
💡 아키텍쳐가 후순위가 되면, 개발하는 비용이 더 많이 들고 코드 변경을 하는 일이 현실적으로 불가능 해짐을 말하고 있음
</aside>