그저께 약 3일간 개발한 내역을 PR을 올렸습니다. Copy & Paste가 아닌 완전히 새로운 개발이라 태클이 많이 들어올 것으로 예상했습니다만, 1차 시니어 개발자가 몇가지 코멘트를 하고 괜찮다고 Approve를 해 줬습니다. 근데 다른 팀의 팀 리더가 리뷰어로 참가했습니다. 이 개발자는 우리 회사의 개발 간달프라고 불리는 슈퍼 개발자입니다. 우리 회사의 중요한 모듈은 거의 다 이 사람이 개발했다고 보면 됩니다. 사람도 좋고, 잘못된건 불러다가 상세히 설명도 해주고.
쉽게 Approve를 받을 수 있을 거라 생각했는데, 한가지 태클이 들어왔습니다. 우리가 지향하는 코드 패턴하고 맞지 않는다. 즉, Controller가 너무 Fat하다는 코멘트를 달고 Refactoring을 고려하라고 합니다.
3일동안 주구장창 개발한건데, 고치면 너무 일이 커질 것 같아 열나게 Reply를 달았지요. 말한대로 Refactoring를 할 수도 있으나, 그렇게 되면 거의 같은 기능을 하는 클래스가 하나 더 생기게 되고 오히려 Readability나 관리 측면에서 안 좋지 않을까라고 했더니, 자기가 보기엔 하나 더 만드는게 맞다고 합니다. 하늘이 무너지는 것 같습니다.
그거 하나 만들려면 3일간 개발한 내용 중 1/3은 다시 다 개발해야 합니다. 특히 유닛 테스트 부분을 뜯어 고쳐야 하는 부분이 한 두가지가 아닌데. 그래도 최강 개발자가 그렇게 하라는데 고쳐야지요. 그래서 Refactoring 하는데 하루를 꼬박 날렸습니다.
간달프가 그렇게 하라고 하니, 처음 Approve 해준 개발자도 Unapprove 해 버립니다. 그러면서 저한테 투덜거립니다. 코드 더 지저분해졌다고. 어떻게 하면 더 깔끔하게 만들 수 없을까 고민을 하더니 곧 포기합니다. 아무리 생각해도 비즈니스 요건 때문에 깔끔하게 만들 수가 없다고.
금요일인데 우울합니다.
'개발 이야기' 카테고리의 다른 글
[TypeScript 기초] 1. 환경 설정 (0) | 2018.07.11 |
---|---|
Ajax 데이터 바인딩 - Knockout.js (0) | 2018.07.09 |
Domain Driven Design을 위한 프로젝트 구조 (0) | 2018.06.20 |
프론트 엔드 개발자의 미래 (0) | 2018.06.19 |
외국 회사는 휴가를 마음대로 쓸 수 있나요? (0) | 2018.06.16 |
최근댓글