-
클린 코드를 마무리 하며...Backend/책 정리 2023. 5. 18. 02:54
클린 코드 책을 드디어 모두 읽었다. 물론 부록 내용은 조금 남긴 했지만 그래도 기본적인 내용은 다 읽었다는 점에서 결국 어떤 일을 마무리 지었다고 생각하기 때문에 다행이라는 느낌을 받고 있다
책 자체는 읽는데 엄청 어려운 느낌은 아니었다. 하지만 좀 더 빨리 읽어야 하지 않았을까 라는 생각은 많이 든다...
책을 읽으며 정말 많은 생각을 하게 되었는데 가장 중요하게 가져야 할 마음이 결국 좋은 코드란 끝없는 리팩터링 끝에 나온다는 것이다.
저자도 얘기하듯이 단 한번에 깨끗하고 구조가 잘 잡힌 코드를 작성하는 것은 불가능하다. 중간에 저자가 리팩터링 하는 과정에 대한 내용이 있는데 처음 코드는 굉장히 아쉬운 부분이 많지만 이를 꾸준한 리팩터링을 통해 좋은 코드로 발전시켜가는 것을 확인하며 많은 것을 느낀 것 같다.
특히 보이스카우트 규칙이라는 얘기를 처음 들었는데 앞으로 잘 실천해야 겠고 코드를 작성하는 것에 대해서도 귀찮다고 넘어가는 것이 아니라 부지런하게 꾸준히 해야한다고 느꼈다... 역시 개발은 꾸준해야 하는 것 같다.
또한 이런 꾸준한 리팩터링의 기반은 결국 테스트 코드 작성에서 얻을 수 있다.
예전에 공모전을 나갔을 때 시간이 부족해서 테스트 코드를 하나도 작성하지 않고 부랴부랴 작동만 되도록 코드를 작성하고 나중에 바꿔야지 라는 마음으로 서비스를 만든 경험이 있다. 결국 리팩터링 하지 못했다. 이유는 단순하다. 리팩터링한 코드가 제대로 돌아간다는 확신이 없었고, 오래된 코드이다 보니 기억이 제대로 나지 않아서 못한 부분도 많았다.
이번 프로젝트를 진행하면서는 최대한 단위 테스트를 꼼꼼하게 작성하려고 노력하는데 직접 작성하다보니 시간이 생각보다 많이 들었지만 그래도 코드를 바꿀 수 있는 기반을 마련한 것 같고 실제 리팩터링도 자신있게 할 수 있는것 같다고 많이 느꼈다.
물론 테스트 코드를 제대로 작성하지 못해 코드를 수정할 때마다 테스트를 실패해서 다시 구조를 바꿔주는 경험이 생각보다 많아서 너무 힘들기도 했다. 이 부분은 앞으로 좀 더 신경써서 테스트 코드를 작성하면 해결될 문제라고 생각하고. 결론적으로 테스트 코드를 작성해서 얻는 이점이 훨씬 많다는 생각을 많이 했다.
개인적으로 이번 책을 읽고 아래의 문장으로 정리할 수 있을것 같다.
테스트 코드를 꼼꼼히 작성하고 이를 바탕으로 꾸준한 리팩터링을 통해 깨끗한 코드로 나아가자
이제 직장을 다닌지 1년이 조금 안된것 같은데, 물론 직장에 입사해서 java와 spring 공부를 하다보니 좀 늦게 이 책을 읽은 것 같은데 좀 더 일찍 읽었으면 훨씬 내 것으로 만드는데 좋지 않았을까 라는 생각을 많이 하면서 글을 마무리 하겠다.
'Backend > 책 정리' 카테고리의 다른 글
내 코드가 그렇게 이상한가요? (0) 2024.06.06 객체 참조를 해제하라 (0) 2023.05.17 Clean Code 12 ~ 13 장 (0) 2023.04.04 Clean Code 9 ~ 11 장 (0) 2023.03.28 Clean Code 7~8 장 (0) 2023.03.21