티스토리 뷰
내가 이책을 읽기로 정했을 때,
내가 평소에 했던 고민을 속시원하게 가이드해줄거라 생각했다.
짧지만 몇 년간 누적되온 고민들이 많았기 때문이다.
바로 떠오르는 고민들로는,
1. 내가 생성한 요청 객체의 구조를 어떻게 짜야 조금 더 가독성 있게 구현될 것인가?
2. 서비스 로직내 반복 사용되지 않을 매서드가 길어질 경우, 이 매서드를 별도의 매서드로 빼야 옳은가?
3. 클래스 내엔 어느정도까지의 역할을 하는 멤버 변수와 매서드가 허용되어야 하나?
4. 익셉션 처리들은 컨트롤러나 서비스 내에서 처리되어야하나 공통처리부에서 처리해야하나?
5. 백엔드 효율성을 향상시키기 위해선 데이터 처리를 서비스 단에서 처리하는게 옳을까? 쿼리에서 최대한 정제된 데이터를 얻어야할까?
이런 것들이 있었고, 이런 내용이 나올까 조금 두근두근하기도 했다.
또, 평소에 주위에서 야 2~3년차 정도됐으면 클린 코드정도는 당연히 읽었겠지? 라는 말을 수도 없이 들었었기 떄문이다.
하지만 다 읽고 나서 든 생각을 한 줄 요약 하면,
"흠..... 그 정도인가?"
딱 이정도 였다.
책의 서두와 1장을 읽었을 때는 와 이런 내용들까지 다룬다고?
란 생각을 3장까진 했다. 그 이후엔 이미 개인적으론 어느정도 고민을 끝낸 내용이 주를 이뤘다.
요약하면, 책은 개괄적인 방법론에 대해 이야기하고 있다.
첫 내용들은 형식을 맞춰서하는 개발, 주석 관리, 익셉션 처리 등의 내용이 나온다.
하지만 이 내용들은 내부적으로 개발 지침이 있어야 정상이다.(없으면 그 조직에 문제가 있다는 것이다.)
다음으로 나오는 클래스, 매서드의 구현 방법론과 내용은 내가 했던 고민의 연장선이었다.
클래스와 매서드는 최대한 한가지만 하도록 작성하고 작게 만들어라
이 내용은 굳이 클린 코드 책이 아니어도 어디서든 한번쯤은 봤을 내용일 것이다.
다만, 어떻게? 에 대한 이야기가 너무 아쉬웠다.
한 챕터 내에서 다뤄주긴 했지만 이미 적용 중인 이야기가 대부분이었기도 하고 뭔가 파박! 오는 아이디어 같은 건 없었다.
네이밍은 어느정도 지침은 주지만 이건 뭐 정말로 답이 없는 내용이다..
이 외에는 테스트와 동시성에 관한 이야기가 책의 대부분의 내용을 차지한다.
특히 TDD와 유닛 테스트에 대한 내용을 특히 많이 다뤘는데, 테스트에 대한 이야기는 한번 시작하면 끝이 나질 않는다.
책에서는 아래와 같이 말했다.
무조건 기능을 개발하기 전에 테스트를 우선 개발해라. 개발보다 테스트가 우선되어야 한다.
개인적으론 맞는 말이라 생각한다. 하지만 너무 지키기 어렵다.
심지어 생산성을 핑계로 심지어 테스트 자체를 안하는 곳도 많다.
조직마다 테스트 문화는 철차만별이기 때문에, 뭐가 옳고 그름을 정의할 수 없으니 이 부분은 넘어가야 할 것 같다.
동시성에 관한 요소는 세월이 많이 지나면서 자바에서는 많은 문제를 발생시키는 동시성에 대응하기 위해, 여러가지 기능을 제공했다.
Thread Safety 변수들도 제공하고, 개발에 혼란을 주는 부분을 외부로 노출시시키지 않으면서, 이 책이 작성된 시기(2013년 12월 작성된 책)보다 많은 부분이 개선되었다.
이 역시 크게 도움되지 않은 부분...이다.
마치며
본인이 연차가 좀 쌓였고,
아... 화면만 보긴 너무 지겹다 서판을 읽고 싶은데, 주변에 추천해주는 책이 있었지?
하고 읽기 위해 뽑기엔 개인적으론 비추천이다.
하지만 개발에 입문하는 사람들에겐 읽어볼만한 수준의 책인 것 같다.
다만 주의할점은 이 책의 서두에서도 이야기했지만, 이 책에 작성된 내용이 절대 저얼~대 진리가 아니다.
최대한 조직 문화에 맞게 개발하는게 첫 번째다.
이 책은 본인만의 철학을 갖춰나가는데 참고하는 수준으로 보는걸 추천한다.
개인적으로는 이런 방법도 있었구나 라기보다는 내가 잘 하고 있었구나란 생각이 들었다.
그 때문에 지루하게 느껴졌던 점도 있었을 것 같다.
일단 1~3월 사이에 책을 한권 밖에 못 읽었는데, 3월은 스퍼트를 내서 한달 한권을 맞춰야겠다.
'일상' 카테고리의 다른 글
[책] 오브젝트를 읽고 - 1 (0) | 2024.03.03 |
---|---|
[컨퍼런스] 게으른 개발자 컨퍼런스 후기 (2) | 2024.01.29 |
2024년 목표 (2) | 2024.01.26 |
23년 목표 결산과 23년 후기 (1) | 2023.12.31 |
Tistory 블로그 sitemap 등록하기 (0) | 2023.12.08 |
- Total
- Today
- Yesterday
- openAI API
- AOP
- OpenFeign
- MySQL
- Spring
- AWS EC2
- 스프링부트
- cache
- GIT
- docker
- Kotlin
- ChatGPT
- lambda
- awskrug
- Log
- Elastic cloud
- JWT
- terraform
- elasticsearch
- 람다
- springboot
- EKS
- S3
- 인프런
- OpenAI
- CloudFront
- serverless
- chat GPT
- java
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |