개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
자기 코드에 대해 생각하자
테스트 코드를 작성하자.
리팩터링을 하여 코드를 바꾸기 쉽게 유지하자.
TIL (Today I Learned) 날짜
2022. 04. 02
오늘 읽은 범위
7장 코딩하는 동안
책에서 기억하고 싶은 내용을 써보세요.
코딩도 똑같다. 대부분 반복적인 일이지만 정신을 늘 기민하게 유지하면 재앙을 막을 수 있다 p275
Topic 37 파충류의 뇌에 귀 기울이기
코드에 대해 생각하지 말고 키보드에서 떨어져서 잠깐 머리를 비운 채로 할 수 있는 일을 하라. p278
생각이 저절로 여러분의 뇌를 층층이 스며들도록 놔둬라. 억지로 쑤셔넣을 수는 없다. p278
문제를 표면을 끄집어내 보라. 작성하는 코드에 대한 그림을 그려 보라. 동료에게 설명해 보라. 프로그래머가 아닌 사람이라면 더 좋고 사람이 없으면 고무 오리도 괜찮다.p279
다른 사람의 코드를 기계적으로 읽으면서 중요해 보이는 대목은 메모해 가며 묵묵히 시간을 투자할 수 도 있다. p281
처리 방식이 이상해 보이는 부분은 눈에 띄면 적어 놓아라.계속 작업하면서 패턴을 찾아보라. p281
Topic 38 우연에 맡기는 프로그래밍
왜 코드가 망가졌는지 프레드가 모르는 까닭은 애초에 코드가 왜 잘 돌아가는지도 몰랐기 때문이다. p283
"가정하지 말라. 증명하라" p286
잘 되는 듯한 답을 찾는 것과 올바른 답을 찾는 것은 다르다. p287
Topic 39 알고리즘 속도
회사에서는 대개 정렬 루틴을 작성하느라 시간을 많이 쓰지 않는다. 이미 나와 있는 라이브러리에 들어 있는 정렬 루틴이 상당한 노력을 들이지 않는 한 대부분 여러분이 작성하는 것보다 성능이 더 나을 것이다. p296
숫자가 외부 요인에 따라 달라진다면 잠시 작업을 멈추고 커다란 수가 들어왔을 경우 수행 시간이나 메모리 소모에 어떤 영향을 미칠지 생각해 보는 것이 좋다. p296
가장 빠른 알고리즘이 언제나 가장 좋은 알고리즘은 아닌다. 여러분이 선택한 알고리즘이 요구하는 형식으로 입력 데이터를 준비하는데 비용이 많이 드는 것은 아닌지 주의 깊게 보아야한다. p298
'성급한 최적화'를 조심하라. p298
Topic 40 리펙터링
코드는 정적인 존재가 아니다. 코드는 발전해야 한다. p300
소프트웨어 개발은 건축보다 정원 가꾸기에 더 가깝다. 딱딱하기 보다는 유기적인 활동이다.p300
무질서하게 대규모로 코드를 다시 쓰는 것이 아니라, 정확한 목적을 가지고 정밀하게 접근하는 활동이다. 그래서 코드를 바꾸기 쉽게 유지하는 것이다. p302
코드는 지금 상황에 뒤떨어지지 않아야 한다. p303
Topic 41 테스트로 코딩하기
우리는 테스트의 주요한 이득이 테스트를 실행할 때가 아니라 테스트에 대해 생각하고, 테스트를 작성할 때 생긴다고 믿는다. p308
여러분의 소프트웨어를 테스트하라. 그러지 않으면 사용자가 테스트하게 된다. p320
Topic 42 속성기반 테스트
속성 기반 테스트는 여러분이 코드를 불변식과 계약 이라는 관점으로 바라보게 한다. p329
Topic 43 바깥에서는 안전에 주의하라
사실 우리는 지나칠 정도로 의심을 해야한다. 매일. 모두 개발자가 부주의한 탓이다. p331
단순함을 유지하고 공격 표면을 최소화하라. p335
Topic 44 이름 짓기
프로그래밍에서는 이름이 "모든 것!"이다. p341
이름을 지을 때는 여러분이 표현하고 싶은 것을 더 명확하게 다듬기 위해 끊임없이 노력해야 한다. p344
반드시 팀의 모든 사람이 각 단어의 뜻을 알고 일관성 있게 사용해야 한다. p346
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
테스트로 코딩하기. 올해에는 단위 테스트, 유닛 테스트에 대해 공부하여 실 서버스에 적용 해야겠다.
이름짓기 정말 어렵다. 팀의 문화속에서 일관성있게 사용해야한다는게 중요하다고 생각되었다.
cs에서 사용하는 단어들이 팀 문화에어서는 다른 의미로 종종 사용되기 때문에..
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
오늘 읽은 다른사람의 TIL