The matter is how it can be , not how it is now

O4, 새.책.뷰(새벽에 쓰는 책 리뷰)

클린 코드 이제는 파이썬이다.

sstrato 2022. 8. 20. 07:00
728x90
지은이: 알 스웨이가트
옮긴이: 박재호, 김동현
출판일: 2022년 08월 16일 
엮은이: 강세중
펴낸이: 김희정
디자인: 전병준, 박진희
일러스트: 
제작.관리: 김혜숙
출판사: 책만
구매 링크 : 
교보문고





 

내가 파이썬이란걸 처음 사용해야 할 때는 바야흐로 11년전정도 된것 같다. 그전까지는 C++, C 그리고 Java로 작업을 하다가 직장을 바꾸고 새로 봐야하는 제품의 기본언어가 파이썬이었다. 

 

그래서 이전 경험을 비추어봤을때 파이썬은 명확하게 장단점이 딱 보이는 언어였다. 장점은

-자료형 정의가 없기 때문에 간단히 어떤것을 만들때는 굉장히 빠른 효율을 낼 수 있다.

-컴파일도 없기 때문에 스크립트만 잘 보관하고 전달하면 어디서든 실행 시킬수 있다. 

 

단점은 그냥 한마디로 하자면 협업 하기 불편하고 속도가 느리다. 

1. 남이 짠 코드 특히나 클래스들로 이뤄진 오브젝트 오리엔티드 형태로 분리된 파일/코드들을 따라가기가 너무 어렵다. 변수의 타입을 알아야 데이터를 꺼내거나 넣을 수 있는데 그걸 알기가 너무 어렵게 되어 있다.  

2. 컴파일 단계가 없기 때문에 파일을 바꾸기만 해도 동작이 바뀌어 버린다. 그래서 뭔가가 갑자기 돌지 않는 경우들이 생긴다. 이걸 찾는 일도 상당하다.  

3. 속도가 너무 느리다. 파이썬은 내부에 GIL Global Interpreter Lock 때문에 다른 언어 대비 속도가 느릴 수 밖에 없다. green thread, multi process(thread 아님)으로 대체를 해야만 속도가 빨라진다. 그런데 이런것을 사용하려면 스킬이 있어야 한다. 간단하게 만들려고 파이썬을 사용하는데 스킬이 있어야 제대로 쓸 수 있다니... 기본적으로 뭔가 모순의 언어다.  단점 3번은 어쩔 수 없다고 생각한다. 어차피 스킬이 있어야 처리 속도를 올릴 수 있지 않을까?

 

이 책은 단점 1, 2번들을 극복할 수 있도록 해준다.

1. 기본적인 린트들을 넣어서 코드 정적(static) 검사를 하는 것을 통해서, 같이 참여하는 사람들의 코딩 스타일을 맞출 수 있는 방법들을 보여 주고

2. git을 통해 파일들을 관리하면서 협업을 할 수 있는 방법들을 알려준다

3. 그리고 간단하게나마 코드의 성능을 예측할 수 있는 Big O에 대해서 예제를 기반으로 알려준다. 

 

그래서 이 책의 영어 제목 처럼 파이썬 자체에 대한 기본적인 지식이 아니라, 이걸 좀 뭐랄까 실제로 일을 할 때 고려해야할 부분들을 알려 주는 책 이다. 이를 테면 파이썬의 그 유명한 3항 연산자를 까는 부분 같은거 말이다(람다는 아예 소개조차 안했다. 너무 잘한 부분이라고 생각한다). 그래서 읽고 나면 뭐랄까 '내가 파이썬을 쓰면서 겪은 거지 같은 것들이 나만 당하고 있는건 아니구나 '라는 동질감과 그에 대한 해결책들을 고민해볼 수 있게 된다. 

 

한권씩들 사자 ㅋ. 

 

p.s. 책의 내용이나 표지 디자인을 보고 당연히 packt 출판사일것이라 생각했는데, no starch press 라는 출판사다. 세상에 다림질 할때 풀(starch)을 안먹인다는 뜻의 no starch 를 출판사 이름에 쓰다니 그리고 슬로건이 'The finest in GEEK entertainment'다. 왠지 이 출판사 대표도 뭐랄까 normal한 사람은 아닌것 같다. ㅋㅋㅋ. 

728x90