Community

클린코딩 하는데 구현을 못하는 개발자

아주 공감되고 아주 중요한 내용을 이야기하고 있는 영상이 있어 공유합니다. "더 좋은 코드를 위해 깊게 고민을 하지만 기한 내에 구현을 하지 못하는 개발자"와 "기한 내에 구현은 어떻게든 하는데 코드가 xx 같은 개발자"에 대한 생각을 이야기하고 있는데요. 여러분들은 어떤 개발자가 되고 싶으신가요? 제 개인적인 생각은 좋은 코드를 만들면서 기한 내에 구현을 하는 개발자가 돼야 한다고 생각을 합니다. 이 문장에 반박을 할 수 있겠죠. " 클린 코드를 만들려면 시간이 더 필요한데 기한 내에 구현을 다 할 수 있다고? " 물론 경력이나 경험이 부족하신 분들은 클린 코드 자체에 대해 뭐가 맞는 건지 모를 수도 있고, 책에서 혹은 영상에서 나온 내용을 그대로 실무에 적용하기란 생각보다 쉽지 않습니다. 그럼 여기서 또 질문을 드려보죠. 좋은 코드란 무엇이라 생각하시나요? 제 지인과 이야기 나누던 내용 중에 결론으로 다다른 정의는 "돈 벌어다 주는 코드"였습니다. 이러한 이야기엔 여러 가지 의미가 많이 담겨있죠. 결국 완벽한 코드는 없습니다. 계속 수련(리팩토링) 해야 하고 다양한 사람들과 코드에 대해 이야기를 하면서 좋은 코드를 만들어 가는 습관을 체득해야 하죠. 그런데 대부분 회사에서 일정에 쫓겨 개발을 하곤 하는데 이럴 경우엔 우선 기한 내에 개발을 한 뒤에 (테스트 코드가 탄탄하다는 가정하에) 리팩토링을 하는 거죠. 리팩토링할 시간도 없다? 이건 핑계라고 봅니다. 개발을 '일'이라고 생각하지 않았으면 좋겠어요. 내가 좋아서 선택한 길이니 그만큼 시간을 투자하고 계속 연습하는 거죠. 모든 문제에 대해 사전 같은 "정의"를 내리는 걸 별로 선호하진 않지만 앞서 이야기 나온 "코드의 품질 vs 구현의 완성도"만 가지고 이야기하자면 당연히 구현의 완성도가 더 중요합니다. 아무리 마틴 파울러 할아버지가 감탄할 정도의 코드라도 유저들이 기다리고 있는데 출시를 못하면 의미가 하나도 없죠. 그렇게 일정을 지키는 연습을 하면서 점점 코드의 품질을 올리는 여러 가지 시간을 할애해야 한다고 생합니다. 결국 시간이 필요합니다. 조급해 하지 않으시길. 여러분들은 어떠신가요? https://www.youtube.com/watch?v=cyoUrxDVGXE

알림

알림이 없습니다