[CleanCode] 클린코드 이제는 파이썬이다. - 1장

2023. 2. 16. 23:44독서

클린 코드, 이제는 파이썬이다. 알 스웨이가트 지음 | 박재호, 김동현 옮김

클린코드 책을 구매해놓고 계속 미루기만 하다가 이젠 진짜 읽어야지 하던 차에 유데미에서 ‘클린코드 이제는 파이썬이다.’ 책의 북클럽을 진행한다고 해서 냅다 책을 사고 이번엔 완독하리라 다짐했다. 옮긴이 이신 박재호 멘토님의 학습가이드 영상을 보며 꼼꼼히 독서한 뒤 블로그에 기록하는 것이 이번 목표이다.

 

이번 기회를 통해 한발자국 더 성장하기를


1장 - 에러 메시지 파악과 고수의 도움을 받기 위한 질문 에티켓

1.1 파이썬 에러메세지를 읽는 법
 Stack Trace : 추적 정보 조사 > 에러 메세지 검색

: 파이썬은 코드에서 예외가 발생하면 에러메세지와 추적정보를 보여준다.

에러를 해결하기 위해선 추적 정보를 읽어 어디서 에러가 발생했는지를 파악해야한다.

추적 정보를 따라가 파이썬이 에러를 최종적으로 감지한 곳을 파악하고 에러메세지를 검색하여 원인을 분석한다.

 

1.2 린터를 활용한 에러 방지

: 린터는 정적 분석 도구로, 소스코드를 분석해 잠재적인 에러를 경고하는 응용프로그램이다.

린터를 사용하면 오타로 인한 일반적인 에러를 알아낼 수 있기 때문에, 실수를 줄여 불필요한 시간낭비를 막아 생산성을 높힌다.

 

Visual Studio Code에 Lint 설치하는 법

나는 python 코딩할 때 주로 Visual Studio Code를 사용하기 때문에 Visual Studio Code에 설치를 한번 해봤다.

vscode에서 Ctrl+Shift+P로 Command Palette를 실행 후, python: select linter 명령을 실행한다.

그러면 설정할 수 있는 python의 린터들 목록들이 나온다. 나는 그중 pylint 를 선택했다.

그럼 하단에 pylint 가 설치되어있지 않다며 설치할건지를 묻는다. Install을 눌러 설치해준다.

설치하고 나면 이제 소스코드의 에러를 실시간으로 지적해준다...

PROBLEMS 탭이 시끄러워졌당

pylint 외에도 python을 위한 린터가 여러가지가 있는 것 같다.

파이썬 관련 린터에 대한 설명은 아래 링크를 참고했으며, 해당 페이지에 들어가면 더 많은 정보를 볼 수 있다.

참고 : https://code.visualstudio.com/docs/python/linting

 

Linting Python in Visual Studio Code

Linting Python in Visual Studio Code

code.visualstudio.com

 

1.3 프로그래밍 조언을 구하는 방법

* 질문은 최후의 수단 → 너무 혼자 고민해서도 X

온라인 문서와 검색 엔진을 최대한 활용하여 주도적으로 문제를 해결해보자. 더이상 방법이 없을 경우에 다른 사람에게 질문을 할 때엔 프로그래밍 질문을 위한 에티켓을 꼭 지키자.

1. 미리 충분한 정보를 제공해 불필요한 커뮤니케이션을 줄이자

2. 물음표가 붙은 질문 형식으로 문장을 서술하자 : 무엇을 묻는건지 확실하게.

3. 적절한 웹사이트를 찾아 질문하자

4. 질문을 요약한 제목을 달자.
  : 다른 사람이 동일한 문제를 만났을 때, 검색엔진이 잘 색인할 수 있어 인터넷 검색하는데 도움을 줄 수 있다.

5. 코드로 어떤 일을 하고 싶은지를 설명하자.
  : 프로그램의 의도를 알아야 문제를 명확하게 파악하고 도움을 줄 수 있다.

6. 전체 에러 메시지를 제공하자
  : 추적 정보를 포함한 전체 에러 메세지를 복사해 붙여넣어야 한다. 매번 겪는 에러인지, 일시적인 문제인지도 구체적으로 명시해야한다.

7. 전체 코드를 공유하자

  : 최소한의 완전하고 재현가능한 예제를 만들어라. (MCR;minimum, complete, and reproducible)

8. 적절한 포매팅으로 코드를 읽기 쉽게 만들자

9. 사람들에게 여러분이 무엇을 시도했는지를 알리자

10. 여러분의 설정 사항을 공유하자.
  : 각자 컴퓨터에서 재현해볼 수 있도록 컴퓨터의 정보를 제공해야 한다.
  (운영체제 종류와 버전, 파이썬 버전, 서드파티 모듈 버전)

  서드파티 모듈 버전 알아내는 법 pip list


정말 기초적인 부분이지만, 놓쳐서도 안되는 부분들.

질문을 열심히 하는 게 중요하다고 생각했는데, 맞긴 하지만, 질문 전에 충분히 주도적으로 해결해보기 위한 노력이 필요하다는 것이 다시 상기됐다. 물론 나도 질문 전에 충분히 검색을 해보며 스스로 해결하기 위해 노력하긴 하지만 질문만이 능사가 아니라는 점.

그렇다고 너무 혼자 끙끙 앓고 있는 것도 안좋으니 프로그래밍 조언을 구하기 위해선 '좋은 질문'을 하도록 하자..!

 

-

 

 

잘못된 정보가 있는 경우 댓글로 알려주시면 감사하겠습니다!

'독서' 카테고리의 다른 글

[CleanCode] 클린코드 이제는 파이썬이다. - 2장  (2) 2023.02.24