개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
여러분 내면의 파충류에게 귀 기울여라
가정하지 말라. 증명하라
밖으로 드러나는 동작은 그대로 유지한 채, 내부 구조를 변경함으로써 이미 존재하는 코드를 재구성하는 체계적 기법 = 리팩터링
TIL (Today I Learned) 날짜
2022-04-02
오늘 읽은 범위
7장 코딩하는 동안
책에서 기억하고 싶은 내용을 써보세요.
인터넷 검색으로 찾은 첫 번째 답에서 코드를 복사해 올 때 여러분과 동일한 상황이라고 확신하는가? 아니면 의미는 신경 쓰지 않고 그냥 따라 하는 화물숭배 코드를 만들고 있나? 잘 되는 듯한 답을 찾는 것과 올바른 답을 찾는 것은 다르다.
기존 코드가 앞으로 짤 코드를 지배하도록 놓아두지 말라. 더는 적절한 코드가 아니다 싶으면 어떤 코드라도 교체할 수 있다. 한 프로그램 안에서도 예전에 한 일이 앞으로 할 일을 제약하지 못하도록하라. 언제나 리팩터링할 자세가 되어 있어야 한다.
대문자 O 표기법은 수행 시간이든 메모리든, 아니면 다른 무엇을 나타내든 실제 숫자를 알려주지 않는다. 그저 입력의 크기가 바뀜에 따라 이 값이 어떻게 바뀔지를 알려줄 뿐이다.
코드 고쳐쓰기, 다시 작업하기, 다시 아키텍처 만들기는 모두 아울러서 재구성 이라고 부른다. 그런데 그런 활동 중 일부를 따로 떼어 리팩터링 이라는 이름으로 실천하기도 한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
알고리즘 문제를 풀거나 공부하게 되면서 bigO을 고려해야 한다. 라는 사실은 많이 보고 들어서 알고는 있었지만 사실 알고리즘 마다 수행시간이 얼마나 되는지도 잘 모르겠고, 크게 와닿지도 않았는데 해당 파트를 오늘 책에서 읽으면서 많이 도움이 되었다.
리팩터링은 일단 아주 초보자인 나에게 있어서는 아직까지 어려운 일인 것 같다. 작성된 코드를 앞에 두고 어떻게 고치면 좀 더 효율적일까 생각해봐도 신박한 해결법이 나오는 것 같지는 않으므로.. 하지만 조금 작성하고 개선하고, 조금 작성하고 개선하고 이렇게 작은 작업 단위에서 반복하는 것은 조금 해볼만 할 것 같다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
단위테스트에 대해서 좀 더 찾아보자