클린 코드란?
나도 항상 클린 코드에 대해서 고민을 많이 한다.
다른 동료들이 쉽게 이해할 수 있기를 원하고, 무엇보다 1주일 후의 나도 새로운 동료라는 것을 알기 때문이다. 1주일 후에 복잡한 코드를 다시 보면 이해가 안 되고 오히려 시간적인 비용이 들기 때문에 처음부터 확실하게 깔끔하게 코드를 작성하고자 한다.
위 영상 속 토스 개발자분들은 무해해보이는 함수 내의 사이드 이펙트 때문에 고생한 적이 많다고 한다.
또한 좋은 코드란, 추상화 그리고 리유저블한 컴포넌트들이라고 말하신다.
도메인, 로직을 분리, 사이드 이펙트를 최대한 없애는 것도 중요하다.
빠르다고 잘한 것이 아니다
일주일 걸리는 과제를 3일만에 한 것을 기획자들은 이쁘게 볼 수 있지만,
개발자 측면에서는 아키텍처나 코드 퀄리티적인 부분에서 고민이 덜 들어갔다고 생각한다.
나는 지금까지 빠르게 개발하는 것이 비즈니스적으로 좋다고 생각했다.
그러면 난 당연히 AI를 절대 이길 수 없을 것이다.
물론 속도도 중요하겠지만, 개발에는 단순 구현이 아니더라도 고민하고 얻을 것들이 많다고 생각한다.
아키텍처 설계일수도 있고, 문서화일수도 있다.
You write what you read
좋은 코드를 보려고 노력할수록 좋은 코드를 쓰게 된다.
서진님은 오픈소스를 많이 본다고 한다.
나는 소프트웨어 마에스트로에서 한 멘토님께서 ‘오픈소소를 하면 굶는다’라는 얘기를 들어서 오픈소스에 좀 부정적인 생각을 갖고 있었던 것 같다..
하지만 오픈소스를 기여하기 위해 노력하다보면 분석을 하게 될 것이고 그럼 나는 좋은 코드를 구별하는 능력이 향상될 것이다.
실제로 React Native에서 mobile에서 직접 web server를 실행시키는 과정에서 오류들이 많아서 오픈소스를 직접 분석해 본 경험이 있다. 이 때는 그냥 어떻게든 구현하려고 분석한 것이지만, 이제는 분석하면서도 아키텍처 측면에서도 많은 고민을 해봐야겠다.


