3 주차
수, 목 | Assignment #16
- 📚 복습
- ✔️ 미션 Mission(4)
어설픈 변명 말고 대안을 제시하라.
→ 변명하는 대신 대안을 제시하라. 그 일은 할 수 없다고만 말하지 말고, 무엇을 할 수 있는지 설명하라.
최종 결정이란 없다.
→ 돌에 새겨진 것처럼 바뀌지 않는 결정은 없다. 모든 결정이 바닷가의 모래 위에 쓰인 글씨라 생각하고 변화에 대비하라.
여러분은 완벽한 소프트웨어를 만들 수 없다.
→ 소프트웨어는 완벽할 수 없다. 불가피한 오류로부터 여러분의 코드와 사용자를 보호하라.
우연에 맡기는 프로그래밍은 하지 말라.
→ 믿을 만한 것만 믿어야 한다. 우발적인 복잡성에 주의하고, 우연한 행운을 목적을 가지고 세운 계획으로 착각하지 말라.
일찍 리팩토링하고, 자주 리팩토링하라.
→ 정원의 잡초를 뽑고 식물 배치를 바꾸는 것과 같이 코드도 필요할 때마다 다시 작성하고, 다시 작업하고, 아키텍처를 다시 만들라. 근본적인 문제를 해결하라.
테스트할 수 있도록 설계하라.
→ 코드를 쓰기 전 테스트에 대해 먼저 생각하라.
요구 사항은 피드백을 반복하며 알게 된다.
→ 요구 사항을 이해하려면 탐험과 피드백을 거쳐야 한다. 결정한 요구 사항의 여파를 바탕으로 처음의 발상을 다듬는다.
생각의 틀을 벗어나지 말고, 틀을 찾아라.
→ 불가능한 문제와 마주쳤다면 진짜 제약 조건을 찾아라. 스스로 물어보라. '정말로 반드시 이렇게 해야 하나? 꼭 해야 하는 일이긴 한가?'
모든 테스트가 끝날 때까지는 코딩이 끝난 게 아니다.
→ 당연하다.
사용자를 기쁘게 하라. 그저 코드만 내놓지 말라.
→ 사용자의 사업 가치를 창조하는 해법을 개발하라. 실행할 것이다.
클린코드 챌린지
완주 직후에 야근 등 다른 일과 병행하며 '새로운 챌린지를 또 해낼 수 있을까?', '완주 못할 바에는 시작도 하지 않는 게 낫지 않을까?'란 생각이 챌린지 시작 전에 자꾸만 떠올랐었다. 하지만 막상 시작해보니 3주는 금방 흘러갔고 벌써 두 번째의 챌린지를 완주하게 되어 뿌듯하다. 그리고 정해진 챌린지 일정을 진행해야 하다 보니 약간의 강제성이 부여되어 하차하지 않고 평소에 읽고 싶었던 책을 다 읽을 수 있게 된 것 같다.