Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 4.83 KB

the-clean-coder.md

File metadata and controls

34 lines (22 loc) · 4.83 KB

클린코더: 단순 기술자에서 진정한 소프트웨어 장인이 되기까지

클린코더 | 저자 로버트마틴 | 역자 정희종 | 에이콘출판 | 2016.07.20

책의 내용은 프로가 가져야 할 마음가짐과 태도에 관한 것이다. 최근 프로는 어떻게 일해야 하는가에 대한 고민이 있었는데 참고가 되는 부분들이 있었다.

QA는 아무것도 찾지 못해야 한다

소프트웨어를 출시할 때는 QA가 문제를 찾지 못할 것이라고 어느 정도 자신할 수 있어야 한다. 코드에 결함이 있는 걸 알면서도 QA에게 코드를 보내는 일은 매우 프로답지 못한 행동이다. 결함이 있는 코드란 어떤 코드일까? 확신을 갖지 못하는 코드는 모두 결함이 있는 코드다. - P.51

나는 가능한 세너티 테스트(Sanity Test)를 충분히 하는 편이다. 하지만 일정이 빠듯하다고 느껴질 때는 '문제가 있으면 QA 단계에서 발견되겠지' 하는 안일한 생각을 가지고 충분히 테스트 하지 않은 적이 있다. QA는 아무것도 찾지 못해야 한다는 소제목을 봤을 때 마음이 뜨끔 했다. 내가 가졌던 생각은 굉장히 게으르고 무책임한 생각이다. QA가 문제를 찾을 때마다 개발자는 놀라움과 분함을 느껴야 마땅하다.

보이스카웃 규칙

코드를 조금 바꾸는 일은 언제 해야 할까? 항상 해야 한다! (중략) 보이 스카웃 규칙이란 모듈을 체크인할 때는 항상 체크아웃했을 때보다 깨끗해야 한다는 규칙이다. 코드를 볼 때마다 착한 일을 하라. - P.54

레거시 코드를 손대는 일은 무서운 일이다. 정말 무섭다. 일단 잘 돌아가고 있는 코드이기 때문에 괜히 손댔다가 문제가 생기지 않을까 겁이 난다. 그래서 악취를 풍기는 코드를 보고도 못본 척 넘어가는 경우가 많다. 언젠가 날을 잡아서 전체적으로 리팩토링을 해야지 하고 생각한다. 하지만 그 언젠가는 절대 오지 않는다. 개발을 하면서 리팩토링은 계속 수행 해야 한다. 리팩토링을 위해 별도의 시간을 할당 받기는 어렵다. 리팩토링이라는 거창한 표현을 사용하지 않더라도 책에서 말한 '보이스카웃 정신'을 가지고 내가 지나간 자리는 이전보다 더 깨끗해지도록 노력해야겠다.

연습

프로는 연습한다. 진정한 프로는 기술을 날카롭게 갈고 닦아 항상 준비된 상태로 만들려고 애쓴다. 일상적인 업무를 연습이라 부르면 안된다. 일상 업무는 연습이라기보다 공연이다. - P.59

최근 회사의 프로젝트가 많이 바빠 연습을 게을리 했다. 하지만 이건 단지 변명에 지나지 않았나 하는 생각이 든다. 현재에 만족하고 안주하지 말자.

아니라고 말하기

(일정에 관해) 회유와 조종을 할 때. 최악의 선택은 "알았어요. 노력해볼게요." 대답하는 것이다. - P.74

스타워즈라는 영화에서 요다라는 인물이 "한다, 하지 않는다 둘 뿐이야. 해본다는 없어" 라고 말했다. 실제로 일정을 산출하면서 노력해볼게요, 맞춰볼게요 라는 표현을 하고는 하는데 이 말은 확실히 문제가 있다는걸 알았다. 그리고 기획자는 이 말을 하겠다는 말로 받아들일 것이다. 가능하다고 판단되면 된다고 말하고 불가능하다면 안된다고 말할 수 있어야 한다. 일정 산출에도 많은 이해 관계가 포함되어 있다. 그래서 조율을 해야 할 때가 있다. 하지만 내가 주로 했던건 타협이었던 것 같다. 코드의 품질을 낮춰서 일정을 맞추는 것은 프로 답지 못한 일이다. 노력해보려는 시도는 단지 본인뿐만 아니라 다른 사람까지 더 느리게 만드는 엉망진창인 결과를 낳는다. 반드시 상사, 팀, 관계자에게 정확하게 대답해서 희망을 갖지 못하게 해야 한다.

도움 받기

쉽게 도움을 받을 수 있는 데도 계속 막힌 상태를 유지하는 일은 프로답지 않다. - P.125

최근 들었던 말 중 '주니어 개발자의 특권은 모르는 걸 모른다고 말할 수 있고 물어볼 수 있는 것이다' 이 있다. 나는 모른다고 말하는 걸 부끄러워 하기 보다는 내 문제를 해결하기 위해 다른 사람의 시간을 뺏는 것을 미안해 하는 편인데 도움을 부탁하는 법을 배우는건 중요한 일인 것 같다. 다른 이가 나를 도와줄 때 감사할 줄 알고 기꺼이 도움을 받아들일 줄 알아야 한다. 나는 가끔 스스로 문제를 해결하기 위해 지나치게 많은 시간을 보낸다. 도움이 필요할 땐 도와달라고 말하자. 이는 주니어에 국한 된 특권은 아닌 것 같다.