TIL (Today I Learned)
2022.02.19
오늘 읽은 범위
추천사~1장. 깨끗한 코드
책에서 기억하고 싶은 내용을 써보세요.
- 소위 전문가는 고상한 설계 방법론과 도구에 통달해야 한다고 생각하는 까닭에, 무식한 기계, 그러니까 아무 생각 없는 공돌이인 코더가 간단한 들여쓰기 스타일로 가치를 더한다는 사실에 모욕감을 느낀다. ··· 바로 이런 태도가 탁월함과 능숙함을 구분짓는다. (추천사 xxvii)
- 다시 말해, 코드에 정직하고, 코드의 상태에 관하여 동료들에게 정직하고, 무엇보다도, 자기 코드에 대해서 자신에게 정직하라는 뜻이다. (추천사 xxviii)
- 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다. (p.7)
- 깨끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다. 고치려고 살펴봐도 딱히 손 댈 곳이 없다. 작성자가 이미 모든 사항을 고려했으므로. (p.12)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
이제 프로젝트 하나 해 본 풋내기 주제에 오늘 주어진 범위를 읽고 때로는 공감하고, 때로는 반성하고, 때로는 마음이 동하며 어떤 개발자가 되어야겠다는 원대한 포부까지 생겼다. 이렇게 깊게 와닿는 책을 읽어본 게 얼마만인지 모르겠다. 나쁜 코드에 발목이 잡혀 고생한 기억이 있다. 출시일이 하루 밖에 남지 않은 상황에서 prod 서버가 자꾸 터졌는데 어디서 잘못된지도 모른 채 그저 내일만 버티기를 조마조마하며 바랐다. 다행히 출시회는 무사히 넘어가고 팀원들과 나중에 손을 보자며 합의했지만 그게 끝이었다. 나 역시 르블랑의 법칙을 몰랐다. 나중은 결코 오지 않는다. 내 마음 속에는 항상 좋은 코드를 짜고 싶은 야망이 숨어 있다. 그러나 실력을 핑계로, 아직 배우는 단계임을 무기로 처음만 끙끙대다 더 고민하는 것을 포기했던 듯 싶다. 이번을 계기로 달라지겠다. 소프트웨어를 만드는 데 치중하는 프로그래머가 아닌 유지보수에 심혈을 기울이는, 체크인할 때 더 나은 코드를 쓰는 개발자가 되겠다. "사소한 곳에서 발휘하는 정직은 사소하지 않다." 를 마음에 새기며.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- TDD: Test Driven Devlopment의 약자이며, '테스트 주도 개발'이라 부른다. 소프트웨어를 개발하는 여러 방법론 중 하나로, 기능 단위로 테스트를 진행하게 된다. 해당 기능에 대한 테스트 코드를 통과하지 못한다면 테스트를 통과하기 위한 최소한으로 코드를 개선하며, 통과 시에는 리팩토링 절차(구현 설계 개선, 테스트 통과 유지)를 거쳐 코드를 개선해나가는 방식이다.
- 스크럼(Scrum): 프로젝트 관리를 위한 상호, 점진적 개발방법론이며 애자일 소프트웨어 개발 중의 하나이다. 풀어 말해 비즈니스 요구를 충족시키는데 초점을 맞추기 위해 작은 목표를 짧은 주기로 하여 제품을 지속적으로 개발해나가는 관리 프레임워크이다. 권장 기간은 30일이나, 상황에 따라 1주~4주 정도의 유연성을 가진다.
- 린(Lean) 개발 방법론: TPS(Toyota Production System)를 재정립한 경영방법론인 린 시스템의 품질 기법을 소프트웨어 개발에 적용한 방법론이다. 린 방법론은 '낭비'의 제거를 통해 프로세스를 개선시키는 데 초점을 둔다.
- UML: Unified Modeling Language 통합 모델링 언어. 프로그램 설계를 표현하기 위해 사용하는 표기법을 뜻한다. 기호와 도식 등을 이용해 설계도를 그리기 위한 언어로 쓰인다.
'Book Review' 카테고리의 다른 글
[Clean Code] 4장. 주석 (0) | 2022.02.26 |
---|---|
[Clean Code] 3장. 함수 (0) | 2022.02.24 |
[Clean Code] 2장. 의미 있는 이름 (0) | 2022.02.20 |