오늘 TIL 3줄 요약
- 항상 내가 무엇을 하고 있는지 목적을 갖고 코딩하기
- 리팩토링은 해야할 필요성이 느껴지면 바로 지금 하기. 절대 미루지 말 것!
- 코드는 언제든 수정해야 하고, 수정할 수 있어야 한다.
TIL (Today I Learned) 날짜
2022. 05. 28
오늘 읽은 범위
7장. 코딩하는 동안
책에서 기억하고 싶은 내용을 써보세요.
- 코딩은 기계적인 작업이 아니다. 그랬다면 지난 1980년대 초반에 수많은 사람이 기대를 걸었던 CASE 도구들이 이미 오래전에 프로그래머를 대체했을 것이다. - 273pg
- 여러분의 뇌가 정리를 좀 할 수 있도록 약간의 시간과 공간을 확보하라. - 278pg
- 우리는 우연에 맡기는 프로그래밍, 곧 행운과 우연한 성공에 의존한 프로그래밍을 하지 않아야 한다. 대신 '의도적으로 프로그래밍'해야 한다. - 282pg
- 잘 되는 듯한 답을 찾는 것과 올바른 답을 찾는 것은 다르다. - 287pg
- 숫자가 외부 요인에 따라 달라진다면 잠시 작업을 멈추고 커다란 수가 들어왔을 경우 수행 시간이나 메모리 소모에 어떤 영향을 미칠지 생각해 보는 것이 좋다. - 296pg
- 코드는 정적인 존재가 아니다. 코드는 발전해야 한다. - 300pg
- 리팩터링은 여러분이 무언가를 알게 되었을 때 한다. 여러분이 작년이나 어제, 심지어 10분 전과 비교해서 더 많이 알게 되었다면, 리팩터링을 한다. ... 주저하지 말고 변경하라. 언제나 바로 지금이 최적기다. 코드를 리팩터링할 이유는 아주 많다. - 302pg
- 코드에 테스트의 빛을 비추면 모든 것이 명확해진다. 코딩을 시작하기 전에 경계 조건에서 어떻게 동작해야 하는지를 먼저 생각해본다면, 아마 함수를 단순하게 만드는 코드 패턴을 찾을 수 있을 것이다. 테스트해야 하는 오류 조건에 대해 생각해 본다면 그에 맞게 함수 구조를 잡을 것이다. - 310pg
- 어떻게든 TDD를 실천하라. 하지만 도중에 이따금 멈추어 큰 그림을 살피는 것을 잊지 말라. 초록색 "테스트 통과" 메시지에 중독된 나머지 진짜 문제 해결에는 보탬이 안되는 코드를 한 무더기나 쓰게 되기 쉽다. - 312pg
- 테스트는 프로그래밍의 일부다. 다른 사람이나 다른 부서에 떠넘길 수 있는 것이 아니다. 테스트, 설계, 코딩, 이 모든 것이 프로그래밍이다. - 320pg
- 패치를 적용하지 않은 구식 시스템이 맨몸으로 인터넷에서 생존할 수 있는 시간은 겨우 몇 분 정도다. 그보다 짧을 수도 있다. 조용히 숨어 있는 것으로 보안을 대신하려는 생각은 통하지 않는다. - 332pg
- 꼭 업데이트를 해야 하나 싶은 생각이 든다면, 지금까지 발생한 데이터 유출 사고 중 가장 큰 사고는 업데이트를 하지 않은 시스템 때문에 발생했다는 사실만 기억하기 바란다. - 338pg
- 이름을 지을 때는 여러분이 표현하고 싶은 것을 더 명확하게 다듬기 위해 끊임없이 노력해야 한다. 이렇게 명확하게 다듬는 작업이 여러분이 코드를 작성할 때 코드를 더 잘 이해할 수 있도록 도울 것이다. - 344pg
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 단지 돌아간다고 괜찮은 코드가 아니라, 왜 돌아가는지 완전히 이해할 수 있도록 노력해야겠다.
- 테스트를 해볼 수 있다면 정말 좋을 것 같다. 내 나름대로 데이터를 시험삼아 입력해보고 돌려보긴 했었지만, 좀 더 세련된 방식으로 테스트코드를 작성해 돌려봤더라면 배울 수 있는 부분이 더 많았을 것 같다. 자바스크립트로는 테스트코드 어떻게 작성하는걸까? throw catch 이런걸로 하는건가..?
- 리팩토링의 중요성... 중간중간 리팩토링 해야하지 않을까 싶은 부분들이 있었지만, 당장 구현이 급한 것도 사실이어서 차일피일 미루다보니 점점 손 쓸 수가 없어졌었다. 호미로 막을 것을 가래로 막는다는 것이 이런것이구나란걸 제대로 느꼈었다. 리팩토링은 언제나 바로 지금이 최적기!
- 굉장히 길었다! 급하게 쫓기면서 읽었기 때문에 아쉬운 부분이 많다. 이번 장도 역시나 한번 더 읽어봐야겠다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
오늘 읽은 다른사람의 TIL
'독서 > 실용주의 프로그래머 스터디' 카테고리의 다른 글
실용주의 프로그래머 미션 (0) | 2022.05.30 |
---|---|
실용주의 프로그래머 TIL #8 프로젝트 전에 (0) | 2022.05.29 |
실용주의 프로그래머 TIL #6 동시성 (0) | 2022.05.25 |
실용주의 프로그래머 TIL #5 구부러지거나 부러지거나 (0) | 2022.05.22 |
실용주의 프로그래머 TIL #4 실용주의 편집증 (0) | 2022.05.19 |