under engineering과 over engineering의 개념에 대해 정리한 글이다.
1. Under Enginnering
- 버그가 많아짐, 코드가 가독성이 낮고 유지보수, 테스트하기 힘들어짐.
- 협업하는 개발자들(어쩌면 자기 자신까지도)을 힘들게 만듬
- 프로그램이 동작하는 것을 확인하는 데에 그치고, 이를 더 낫게 만들 노력을 하지 않음
2. Over Engineering
- 자기가 다루는 기술에 익숙하고, 자신이 있는 개발자들에게 나타나는 현상
- 강력하고 유연한 코드를 짜는 데에 관심을 두고 미래에 필요할 만한 기능들을 예측하지만, 필요 이상으로 과도한 예측을 함
- 동시에 현재 꼭 필요한 기능들에 대해서는 구현이 완벽하지 않을 수도 있음
- 실제 사용자 경험에 대해 무지할 경우 over engineering을 하게 됨
https://blog.startifact.com/posts/older/under-engineering-over-engineering-right-engineering.html