노마드개발자북클럽 14

[노개북 - 8] 5장.구부러지거나 부러지거나

오늘 TIL 3줄 요약 가능한 한 느슨하고 유연한 코드를 작성해야 한다. global은 사용을 지양하자 프로그래밍은 무엇보다도 의도를 가장 잘 드러내야 한다. TIL (Today I Learned) 날짜 2022.03.29 오늘 읽은 범위 5장.구부러지거나 부러지거나 책에서 기억하고 싶은 내용을 써보세요. 현대의 미친 듯이 빠른 변화 속도를 따라가려면 모든 수단을 동원하여 가능한 한 느슨하고 유연한 코드를 작성해야 한다. - p181 전역 데이터 하나하나는 애플리케이션의 모든 메서드에 갑자기 매개 변수가 추가된 것과 같은 효과를 낸다. - p190 '감시자 패턴(observer pattern)'은 이벤트를 발생시키는 쪽인 '감시 대상(observable)'과 이런 이벤트에 관심이 있는 클라이언트인 '감시..

[노개북 - 6] 4장.실용주의 편집증

오늘 TIL 3줄 요약 완벽한 소프트웨어는 만들 수 없다. 단정문으로 불가능한 상황을 예방하라. 언제나 신중하게 작은 단계들을 밟아라. TIL (Today I Learned) 날짜 2022.03.24 오늘 읽은 범위 14장.실용주의 편집증 책에서 기억하고 싶은 내용을 써보세요. 가정을 적극적으로 검증하는 코드를 작성하라. - p146 만약 호출자가 루틴의 모든 선행 조건을 충족한다면 해당 루틴은 종료 시 모든 후행 조건과 불변식이 참이되는 것을 보장한다. - p149 단순히 입력만 확인하는 것보다 더 좋은 방식이다. 함수 인자가 범위를 벗어나면 아예 함수 호출이 안 된다. - p151 불변식의 자격이 있는 요구 사항을 찾았다면 여러분이 작성하는 모든 문서에 잘 드러나도록 만들어라. - p156 모든 오류..

[노개북 - 5] 3장.기본 도구

오늘 TIL 3줄 요약 도구가 손의 연장이 되어야 한다. 지식을 일반 텍스트로 저장하라. 그놈의 오류 메시지 좀 읽어라. TIL (Today I Learned) 날짜 2022.03.22 오늘 읽은 범위 3장.기본 도구 책에서 기억하고 싶은 내용을 써보세요. 도구들의 사용법을 배우는 데에 시간을 투자하라. 언젠가는 별다른 자각 없이도 손가락이 키보드 위를 움직이면서 텍스트를 조작하고 있다는 사실을 발견하고 놀라게 될 것이다. 도구가 손의 연장이 된 것이다. - p105 사람이 읽을 수 있는 것과 사람이 이해할 수 있는 것에는 차이가 있다. - p108 디버깅은 단지 문제 풀이일 뿐이라는 사실을 받아들이고, 그런 마음으로 공략하라. - p126 경계 조건과 실제 최종 사용자의 사용 패턴 모두를 철저히 테스트..

[노개북 - 4] 복습

최애 북틸 3개 선정하기 1) https://ash-brother-fd3.notion.site/TIL-01-65bf0fa7c4bd48deac8c99cac5c06e80 위 북틸은 정리가 매우매우매우! 잘되어있다! 글을 잘 정리하지 못하는 나로서는 너무 부러운 능력이다. 책의 내용이 많지만 그만큼 중요한 내용도 많기에 정리를 잘 해두어 빠르게 복기를 하면 좋은데, 이 북틸은 그러기에 최적화 되어 있다. 2) https://nomadcoders.co/community/thread/3736 회사에서 프로토 타입을 작성하고 있다고 한다. 바로바로 코드 작업을 하는 나로서는 예광탄이라는 단어에 어떻게 프로그래밍 적으로 생각해야하는지를 잘 몰랐다. 3) https://spiffy-sodium-d54.notion.si..

[노개북 - 3] 2장.실용주의 접근법

오늘 TIL 3줄 요약 코드는 바꾸기 쉽게. 알기 쉽게. 정리하고 노하우를 쌓아야 한다. 프로그램을 작성하는 데에 있어서 염두에 두어야 할 것이 많다. TIL (Today I Learned) 날짜 2022.03.20 오늘 읽은 범위 2장.실용주의 접근법 책에서 기억하고 싶은 내용을 써보세요. 앞으로 어떤 모습으로 바뀔지 잘 모르겠을 때 언제건 궁극의 '바꾸기 쉽게'라는 길을 선택한다. 바로 여러분이 작성하는 코드를 교체하기 쉽게 만들도록 노력하는 것이다. - p40 엔지니어링 일지에 현재 상황과 여러분의 선택, 그리고 변경 사항에 대한 추측을 정리해 둬라. 그리고 소스 코드에 이에 대한 표시를 남겨 둬라. 나중에 이 코드를 바꿔야 하는 시점이 왔을 때, 뒤를 돌아보고 자신에게 피드백을 줄 수 있을 것이다..

[노개북 - 14] 10장. 클래스

TIL (Today I Learned) 2022.03.10 오늘 읽은 범위 10장. 클래스 책에서 기억하고 싶은 내용을 써보세요. 클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다. 두 번째 규칙도 크기다. (p.172) 클래스 이름은 해당 클래스 책임을 기술해야 한다. 클래스 이름에 Processor, Manager, Super 등과 같이 모호한 단어가 있다면 클래스에다 여러 책임을 떠안겼다는 증거다. (p.175) 단일 책임 원칙(Single Responsibility Principle, SRP)은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다. (p.175) 응집도 : 클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이..

[노개북 - 12] 8장. 경계 / 9장. 단위 테스트

TIL (Today I Learned) 2022.03.05 오늘 읽은 범위 8장. 경계 9장. 단위 테스트 책에서 기억하고 싶은 내용을 써보세요. 학습 테스트를 이용한 학습이 필요하든 그렇지 않든, 실제 코드와 동일한 방식으로 인터페이스를 사용하는 테스트 케이스가 필요하다. 이런 경계 테스트가 있다면 패키지의 새 버전으로 이전하기 쉬워진다. (p.150) 테스트 코드를 깨끗하게 유지하지 않으면 결국은 잃어버린다. 그리고 테스트 케이스가 없으면 실제 코드를 유연하게 만드는 버팀목도 사라진다. (p.157) 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다. 이유는 단순하다. 테스트 케이스가 있으면 변경이 두렵지 않으니까! 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다. (p..

[노개북 - 9] 6장. 객체와 자료구조

TIL (Today I Learned) 2022.03.01 오늘 읽은 범위 6장. 객체와 자료구조 책에서 기억하고 싶은 내용을 써보세요. 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. (p.119) 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. 문단을 처음부터 다시 읽어보기 바란다. 두 정의는 본질적으로 상반된다. 두 개념은 사실상 정반대다. 사소한 차이로 보일지 모르지만 그 차이가 미치는 영향은 굉장하다. (p.120) 복잡한 시스템을 짜다 보면 새로운 함수가 아니라 새로운 자료 타입이 필요한 경우가 생긴다. 이때는 클래스와 객체 지향 기법이 가장 적합하다. 반면, 새로운 자료 타입이 아니라..

[노개북 - 8] 5장.형식 맞추기

TIL (Today I Learned) 2022.02.28 오늘 읽은 범위 5장. 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. (p.96) 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. (p.96) 줄바꿈이 개념을 분리한다면 세로 밀집도는 연관성을 의미한다. (p.100) 변수는 사용하는 위치에 최대한 가까이 선언한다. (p.101) 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다. (p.104) 명명법이..

728x90