본문 바로가기
320x100
320x100

서평단 선정

2013년에 인사이트 출판사의 로버트 C. 마틴의 <클린 코드>를 신입 개발자일때 혼자 봤던 경험이 있다

그땐 이해가 가는 내용도 있고, 이게 무슨 말이지? 하는 것들도 있었다. 주로 후자였다

하지만 지금은 조금 다른 시야를 갖고 있고, 2024년 8월 5일에 출간된 클린코드 책을 읽어보고 싶었다

그래서 한빛미디어에 올라온 서평단에 신청을 하고, 선정됐다

서평단 신청
서평단 선발

 

책 수령

한빛미디어에서 받은 책
책 앞면
책 뒷면

표지의 동물은 회색물범이라고 한다

대상 독자

한빛출판네트워크 화면

대상독자는 한빛네트워크 사이트에선 초중급이라고 평가해놨다

책 내용을 읽어본 나도 초중급이라는 Range에 동의한다

다만 초급이 봐도 좋고, 고급 수준인 개발자가 봐도 충분히 좋은 내용이었다

최소 2회독정도 하며, 이 책에서 기억나는 것들을 현업 코드에 녹인다면 자신이 현재 어느수준이던간에 다음 레벨로 올라갈 수 있을 것이다

책의 구성

총 25개 챕터로 구성

각 장마다 클린 코드를 올바르게 적용했을 때 <-> 그렇지 않았을 때의 장단점을 보여주는 여러 원칙과 기본 사항으로 시작한다

첫 번째 장에서는 클린코드의 기본 원칙인 실제 엔티티와 디자인을 1:1로 매핑하는 방법에 대해서 자세히 설명하고 있다. 이 원칙은 이후의 모든 챕터에서도 적용할 수 있는 기반이 된다

 

각 장은 코드를 개선하고 변경하는 데 도움이 되는 도구와 조언을 주제별로 정리한 레시피를 제공한다

레시피, 예제, 다양한 소프트웨어 설계 원칙, 휴리스틱, 규칙을 소개한다

클린 코드는 특정 프로그래밍 언어에 제한되지 않으므로, 레시피는 여러 프로그래밍 언어로 제공된다

목차

챕터 1

챕터1 Clean Code 챕터2 Setting the Axiom 챕터3 Anemic Models
챕터4 Primitive Obsession 챕터5 Mutability 챕터6 Declarative Code
챕터7 Naming 챕터8 Comments 챕터9 Standards
챕터10 Complexity 챕터11 Bloaters 챕터12 YAGNI
챕터13 Fail Fast 챕터14 IFs 챕터15 Null
챕터16 Premature Optimization 챕터17 Coupling 챕터18 Globals
챕터19 Hierarchies 챕터20 Testing 챕터21 Technical Debt
챕터22 Exceptions 챕터23 Meta Programming 챕터24 Types
챕터25 Security        

 

한글로 번역하면 아래의 챕터명을 갖고 있다

클린 코드 / 공리 설정 / 빈약한 모델 / 기본형 집착 / 가변성 / 선언적 코드 / 명명 / 주석 / 표준 / 복잡성 / 블로터 / YAGNI 원칙 / 빠른 실패 / if문 / null / 섣부른 최적화 / 결합도 / 전역 / 계층 / 테스트 / 기술 부채 / 예외 / 메타프로그래밍 / 타입 / 보안

독서

독서사진1
독서사진2
독서사진3

아버지와 함께 병원가는 길에도 독서를 하고, 만화카페라고 쓰고 내가 코딩하러가는 곳이라고 읽는 벌툰에 가서도 책을 읽었다

그리고 집에서 꾸준히 읽어서 완독을 해버렸다..!!

분량

총 488 페이지

인덱스: 482 ~ 488p

용어사전: 459 ~ 481p

챕터(1-25): 29 ~ 458p

특징

1. 정말 다양한 프로그래밍 언어들로 이루어진 예시를 보여준다(PHP, Ruby, JavaScript, Java, Kotlin, Python, C#)

2. 문제-해결-설명(코드)-관련 레시피-(함께 보기) + (노트)

기억에 남는 레시피 모음

메서드명을 Murder라고 짓는 경우가 있다니.. OMG
Javascript의 마법...ㅋ
맞아요 이름 짓기가 제일 어려워요ㅠㅠ
이런 시적인 비유를 프로그래밍 가변성의 예시로 들다니.. 너무 적절하군
/usr != user, /dev != deveopment 혹시 모르진 않겠쥬?

총평

책을 받고 2주동안 460페이지에 달하는 내용을 정독하는 내 모습을 보고, 옆에 있던 분이 말했다. "서평.. 쓰신다고 하지 않으셨어요? 서평 그렇게 하는거 아닌데..." 아 몰라. 나는 리뷰처럼 서평 쓸래! 싶어서 다 읽었다..

 

원서

이 책의 원서를 읽고 싶은 영잘알 개발자가 있다면 Clean Code Cookbook라고 검색해보면 된다(2024년 1월 30일 출간)

 

신입 때는 읽고 이해하고 적용하기 어려웠던 클린 코드 규칙들이 지금은 눈에 들어온다

2024년 8월에 출간된 이 책을 통해 내 코드품질을 더 향상 시킬 수 있을 것 같다

그리고 이 책에서 사용된 다양한 프로그래밍 언어 예제들은 Github Copilot, OpenAI Codex, Bard, ChatGPT로 만들어졌단다!!

정말 최신책 답게...ㅎㅎ

하지만 책을 내기 위해 예제 코드들은 검증을 마쳤을 것이다. 우린 이 레피시를 통해 나쁜 코드 스멜만 없애면 된다

나도 책의 내용을 기억하면서 점진적으로 프로젝트에 적용시켜, 더 우아하고 멋진 코드를 작성하는 그런 개발자가 될 것이다

여러분들도 이 책에 있는 레시피를 프로젝트라는 요리에 재료로 추가해서 bad smell을 제거해보는 것은 어떨까?

 

추가로 내가 기억하고 싶은 문구?용어?를 남겨본다


 

전단사 규칙(1:1 대응)

소프트웨어 = 시뮬레이터 구축
MAPPER라는 약어로 표현
Model: Abstract Partial and Programmable Explaining Reality

모델은 부분적 추상화와 추상화 프로그래밍을 통해 현실을 묘사해야 함

 

 

< 이 책을 읽으면서 또는 다 읽은 후에 하면 좋을 것들 >

용어사전 한번 더 살펴보기

개발자들은 대부분 키워드로 말한다. 그리고 유명한 해외판 개발저서 또는 번역본은 그런 규칙들에 대해서 말하고 있다

이런 약어로 이루어진 문장들, 키워드들을 머릿속에 갖고 현업에 녹인다면 당신은 good develper(XXX 못하면 넌 주니어ㅋㅋㅋ)

 

특징1번 활용

-> 다양한 프로그래밍 언어들의 예시를 통해서 현재 개인 또는 회사의 프로젝트 내에 "어?이거랑 비슷한 코드가 있는데?"싶다면.. 이 책을 잘 찾아왔다

먼저 기억을 되짚어가며 책의 내용을 떠올려가며 프로젝트를 수정해보자. 중간에 기억이 나지 않거나 수정을 완료하고 잘 작동한다면 해당 챕터의 레시피를 살펴보자.

이 순서대로 하면 In-memory가 아닌 장기기억력으로 잘 저장되고 체화도 될 것이다

 

특징2번 활용

-> 회사에서나 개인 공부나 프로젝트를 시작할때는 항상 문제 상황을 제시하고 해결 방법1..n 최종 선택. 개선율 또는 개선점 이런 식으로 정리하는 편이다. 그것과 비슷하게 레시피가 잘 짜여져 있다. 우리는 그냥 이 재료를 갖다가 요리만 하면 된다!

 

그리고 아직 <클린코드>를 읽지 않았다면 한 번 읽어보자

+

개인적인 추천 도서

- 객체지향의 사실과 오해

- 오브젝트

 

책 뒷면의 관련 도서 읽기

- 켄트 벡의 Tidy Fisrt?

- 리팩터링 2판

- 유연한 소프트웨어를 만드는 설계 원칙

 

곧 올라올 토비님의 인프콘 2024 영상 시청

- 클린 스프링 🫡

 

320x100

댓글