최근 회사 사람들과 개발 이야기를 나눌 때 내가 기본적인 개발 지식이 부족하다는 생각이 들었다. 특히 개발 용어와 개념들이 자연스럽게 오가는데, 내가 이해하지 못하는 부분이 많아서 답답했다. 그래서 추천받은 클린 코드라는 책을 읽기 시작했다. 이 책은 코드의 가독성과 유지보수성을 높이는 방법을 다루며, 나 같은 초보 개발자들에게도 중요한 기초 지식을 제공한다. 처음엔 조금 어려웠지만, 책을 읽으면서 많은 부분에서 배울 수 있었다.

특히 책에서 **TDD(Test-Driven Development)**에 대한 부분이 흥미로웠다. 그동안 TDD라는 개념은 여러 번 들어봤지만, 실제로 어떻게 구현하는지는 잘 알지 못했다. 하지만 책에서는 TDD가 단순한 테스트 작성 방법이 아니라, 전체 개발 과정에서 중요한 역할을 한다고 설명하고 있었다. TDD는 테스트 코드를 먼저 작성하고, 그 테스트를 통과하는 최소한의 코드만 작성하는 방식이다. 이렇게 하면 코드의 품질을 높이고 불필요한 부분을 줄일 수 있다고 했다. 예시로 나온 테스트 코드를 보면서 실제로 어떻게 적용되는지 구체적으로 이해할 수 있었다. 처음에는 이 방식이 낯설고 어렵게 느껴졌지만, 생각해보면 코드가 더 깔끔해지고 유지보수가 쉬워진다는 점에서 큰 장점이 있다는 것을 알게 되었다. 앞으로 나도 이 방식을 더 자주 사용해 보고 싶다는 생각이 들었다.

또한, 객체지향 프로그래밍에 대한 설명도 인상 깊었다. 객체지향이라는 개념은 많은 개발자들이 중요하다고 말하지만, 나에게는 여전히 조금 어려운 주제다. 책에서는 객체지향에서 인터페이스의 중요성을 다루면서 Vehicle이라는 인터페이스를 예시로 설명했다. 이 인터페이스는 연료 탱크의 용량과 남은 연료량을 조회하는 메서드를 포함하고 있었는데, 처음에 이 예시를 봤을 때는 조금 복잡하게 느껴졌다. 하지만 TypeScript에서 인터페이스를 사용했던 경험이 있어서 조금씩 이해할 수 있었다. 객체지향 프로그래밍은 코드의 유연성을 높이고 확장성을 좋게 만든다고 하지만, 실전에서 어떻게 적용하는지가 아직은 어려운 부분인 것 같다. 이런 개념은 한 번 읽고 끝내는 게 아니라 반복해서 읽고 연습해야 할 부분이라고 느꼈다.

클린 코드를 읽으면서 내가 앞으로 배워야 할 것이 많다는 걸 다시 한 번 깨달았다. 특히 TDD와 객체지향 같은 개념들은 앞으로 내가 더 깊이 이해해야 할 주제들이다. 아직은 처음이라 모든 내용을 완전히 이해했다고 말할 수는 없지만, 이 책을 읽은 것이 시작점이 되었다고 생각한다. 앞으로도 이 책을 다시 읽으면서, 책에서 배운 내용을 실전에 적용해 나가고 싶다. 더 나은 개발자가 되기 위해 꾸준히 공부하고, 이번에 배운 것들을 활용해 나의 코드가 더 깔끔하고 유지보수하기 쉬운 코드가 되도록 노력할 것이다.

클린 코드는 나에게 좋은 출발점이 되었고, 앞으로도 계속해서 읽어야 할 책이라고 생각한다.