ETC/Books

[Clean Code] 사소한 곳에서 발휘하는 정직은 사소하지 않다

Pazery는ENFJ 2021. 9. 27. 21:09
반응형

추천사

1. 사소함의 중요성

사소한 곳에서 발휘하는 정직은 사소하지 않다 - 덴마크 속담 -

책의 첫 부분에서 "사소한 것은 중요하다."라고 하면서 이 책이 다루고 있는 내용을 암시하듯 시작합니다.

첫 문장부터 이전에 "이정도면 괜찮겠지~"라고 하면서 시간에 쫓긴다는 핑계로 슬쩍 넘겼던 일들이 생각나면서 마음 한편이 뜨끔하기도 했고, 큰 일을 하기 위해서는 작은 일을 할 줄 알아야 한다는 말이 생각나기도 했습니다.

꼭 맞게 닫히지 않는 문이나 비뚤어진 바닥 타일이나 지저분한 책상 등 아주 사소한 것들이 전체의 매력을 깎아먹는다

라고 이야기 하면서 '깨끗한 코드'의 중요성에 대해서 이야기합니다. (여기서도 끄덕끄덕)

로버트 씨가 말하고 싶어 하는 사소함은 깨끗한 코드일까?

 

2. 5S 철학

1) Sort

> 적절한 명명법 등과 같은 방법을 사용해 무엇이 어디에 있는지 알아야 한다.

> 변수명이나 함수명을 정할 때 정렬 함수를 abc()라고 지어놓으면 안 된다

2) Set in order

> "물건마다 모두 제자리가 있다"라는 속담이 있듯 코드는 누구나 예상하는 곳에 있어야 하며 그렇지 않다면 모두가 예상하는 곳으로 옮겨야 한다

> 변수 선언이나 생성자는 대부분 상단에 존재하고 있다

3) Shine

> 작업을 하기 전에 배선이나 쓰레기 등을 치우는 등 작업장을 깔끔하게 한다

> 과거 이력이나 미래의 바람이나 계획을 주석으로 처리한 코드는 제거!

4) Standardize

> 작업 공간을 청소하는 방식을 그룹 전체가 동의해야 한다.

> 표준을 정해야 한다는 뜻!

5) Sustain

> 관례를 따르고 정기적으로 깨끗한 코드를 만들기 위해 자주 점검하자

 

출처 : https://en.wikipedia.org/wiki/5S_(methodology)

 

5S (methodology) - Wikipedia

Workplace organisation method 5S resource corner at Scanfil Poland factory in Sieradz. 5S is a workplace organization method that uses a list of five Japanese words: seiri (整理), seiton (整頓), seisō (清掃), seiketsu (清潔), and shitsuke (躾). T

en.wikipedia.org

 

3. 보이스카우트 정신

1. "처음 왔을 때보다 캠프장을 더 깨끗이 치우고 떠나려고" 최선을 다했는가?

체크인하기 전에 코드를 깨끗하게 정리했는가? 이건 부수적으로 고려해야 할 사항이 아니라 핵심적인 가치에 부합하는 사항이라고 합니다.

 

4. 느낀점

이전에 취업 준비를 하면서 성별과 연령대가 다양한 그룹에서 알고리즘 스터디를 한 적이 있습니다.

같은 문제가 주어져도 사람마다 사용하는 언어가 다르고 풀이하는 방식도 제각각 달랐습니다

그리고 코딩을 하는 스타일도 많이 달랐던 것 같습니다.

알고리즘 스터디의 꽃은 코드 리뷰였는데 리뷰를 하기 위해 어떤 사람은 주석을 열심히 달아왔지만 특이한 변수명(aaa, bbb... )과 함수명(f1, f2,... )을 작성해서 본인만 알 수 있는 코드를 짜는 분이 있었습니다.

역시 중간중간 변수명에 혼란이 있어 설명을 하는 사람도 듣는 사람도 따라가기 어려웠고, 다른 팀원들에게 풀이 방식에 공감을 얻기도 어려웠습니다.

다른 한분은 코드에 주석이 거의 없었지만 설명을 들을 때 고개가 끄덕였던 경험이 있습니다.

간단명료한 변수명, 일관성 있는 코드의 위치, 앞에 설명을 듣는데 뒤에 코드가 예상이 된 적도 있었죠

두 분 다 문제를 해결했지만 분명한 차이가 있었습니다.

어떤 코드가 더 좋은 코드인지 알고 있었지만, 어떻게 짜야 좋은 코드인지까진 생각을 못했었네요

지금부터는 구현을 하고 나서 코드를 정리하는 습관을 조금씩 들여야겠습니다 :)

반응형