오늘의 실수
프로젝트가 킥오프 되면서 요구사항들이 길게 주어졌다.
요구사항 중 데이터 베이스 설계 부분에서 아래와 같이 쓰여있었다.
모든 테이블에 created_at, created_by, updated_at, updated_by, deleted_at, deleted_by 필드를 추가 (audit 사용)
audit 보단 생성시간 ,생성자 ,수정자 .. 등등의 꽂힌채
팀원들과 요구사항을 분석하고 유즈케이스 비스무리한걸 만들고 도메인별로 엔티티와 각 컬럼들을 작성했다.
이후 erd를 작성하고 나니 생각보다 어떤 엔티티는 필요없네..마네..와 같은 내용들이 오갔다.
그 중 가장 긴 시간을 차지한게 로그를 기록할 수 있는 저 6개의 컬럼들이었다.
테이블별로 갑론을박이 이어진 뒤 최대한 논리적으로 타당하게 어떤건 빼고 어떤 건 넣자는 결론이 지어졌다.
근데 아무리 생각해도 찝찝함은 남아있었다. 사실 제외했던 컬럼은 필요했던게 아닐까 ..? 혹은 그 반대로...
그러던 중 audit이 뒤늦게 있다는 걸 깨닫고 굉장한 리소스 낭비였다는 걸 깨달았다.
그 와중에 audit의 컬럼을 모두 다 넣지 말아야하는 상황이 오면 어쩌지 라는 생각을 했는데
팀원 중 한분이 말씀해주시길 입맛대로 컬럼을 골라서 class를 만들고 그것을 extend 하여 쓰면 된다고 했다.
요구사항을 잘 읽자
되도록 요구사항은 다시 정리하여 투두리스트로 만들어야겠다.