북클럽 9

TIL 10장 클래스

오늘 TIL 3줄 요약 클래스는 한가지 책임을 가져야 한다. 큰 함수를 쪼개다보면 작은 클래스 여럿으로 쪼갤 기회가 생긴다. 클래스는 유연성과 재사용성이 높아야한다. TIL (Today I Learned) 2022.05.10 오늘 읽은 범위 10장. 클래스 책에서 기억하고 싶은 내용을 써보세요. 클래스 이름은 해당 클래스 책임을 기술해야 한다. 간결한 이름이 떠오르지 않는다면 필경 클래스 크기가 너무 커서 그렇다. (p.175) 단일 책임 원칙은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다. 클래스는 책임, 즉 변경할 이유가 하나여야한다는 의미다. (p.175) 큰 함수를 작은 함수 여럿으로 쪼개다 보면 종종 작은 클래스 여럿으로 쪼갤 기회가 생긴다. 그러면서 프로그램에 점점 더..

TIL 9장 단위 테스트

오늘 TIL 3줄 요약 테스트 코드도 깨끗하게 짜야한다. 테스트 코드는 지속적으로 관리하고 표현력을 높여야한다. 테스트 함수 하나 당 하나만 테스트해야한다. TIL (Today I Learned) 2022.05.08 오늘 읽은 범위 9장. 단위 테스트 책에서 기억하고 싶은 내용을 써보세요. TDD 법칙 세가지: 1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 실제 코드가 진화하면 테스트 코드도 변해야 한다. 그런데 테스트 코드가 지저분할 수록 변경하기 어려워진다. (p.156) 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목..

TIL 7장 오류처리

오늘 TIL 3줄 요약 예외가 발생할 코드를 짤 때는 try-catch-finally 문으로 시작하자. 메서드가 null을 반환하게 하지말고 빈리스트를 반환하도록하는게 낫다. 깨끗한 코드는 안정성도 높아야한다. TIL (Today I Learned) 2022.05.05 오늘 읽은 범위 7장. 오류처리 책에서 기억하고 싶은 내용을 써보세요. try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. 그러므로 예외가 발생할 코드를 짤 때는 try-catch-finally 문으로 시작하는 편이 낫다. 그러면 try 블록에서 무슨 일이 생기든지 호출자가 기대하는 상태를 정의하기 쉬워진다. (p.132) 먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하..

TIL 6장 객체와 자료구조

오늘 TIL 3줄 요약 절차적인 코드와 객체 지향 코드의 특성을 이해해야한다. 둘을 섞는 잡종 코드는 피하자. 각각의 특성에 따라 최적의 선택을 해야한다. TIL (Today I Learned) 2022.05.03 오늘 읽은 범위 6장. 객체와 자료구조 책에서 기억하고 싶은 내용을 써보세요. 절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다. (p.122) 절차적인 코드는 새로운 자료 구조를 추가하기 어렵다. 그러려면 모든 함수를 고쳐야 한다. 객체 지향 코드는 새로운 함수를 추가하기 어렵다. 그러려면 모든 클래스를 고쳐야한다. (p.122) 객체는 조회 함수로 내부 구조를 공개하면 안 된다는 ..

TIL 5장 형식 맞추기

오늘 TIL 3줄 요약 규칙을 일관적으로 적용해야한다. 비슷한 의미를 갖거나 내용이 이어지면 가까이 배치해야하고 간단하게 시작해서 자세한 내용으로 끝나야한다. 띄어쓰기, 들여쓰기, 함수 선언 위치, 변수 선언 위치 등을 고려해야 가독성이 좋은 코드를 작성할 수 있다. TIL (Today I Learned) 2022.05.02 오늘 읽은 범위 5장. 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다. (p.96) 500줄을 넘지 않고 대부분 200줄 정도인 파일로도 커다란 시스템을 구축할 수 있다는 사실이다. (p.97) 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막..

TIL 4장 주석

오늘 TIL 3줄 요약 주석을 다는 것보다는 코드만 보아도 알 수 있도록 코드를 짜야한다. 이름을 잘 지으면 주석을 달지 않아도 될 수 있다. 주석을 잘못 달면 오히려 독이 될 수 있다. TIL (Today I Learned) 2022.04.28 오늘 읽은 범위 4장. 주석 책에서 기억하고 싶은 내용을 써보세요. 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다. 자신이 저지른 난장판을 주석으로 설명하려 애쓰는 대신에 그 난장판을 깨끗이 치우는 데 시간을 보내라! (p.69) 몇 초만 더 생각하면 코드로 대다수 의도를 표현할 수 있다. 많은 경우 주석으로 달려는 설명을 함수로 만들어 표현해도 충분하다. (p.70) 좋은 주석 1. 법적인 주석 ..

TIL 3장 함수

오늘 TIL 3줄 요약 한가지 작업만 하는 함수를 작성해야한다. 추상화 수준을 고려하여 코드를 작성해야한다. 함수의 이름을 붙이는데에 일관성이 있어야 읽기 쉬운 코드를 작성할 수 있다. TIL (Today I Learned) 2022.04.27 오늘 읽은 범위 3장. 함수 책에서 기억하고 싶은 내용을 써보세요. if문/ else문/ while문 등에 들어가는 블록은 한 줄이어야 한다는 의미다. 대개 거기서 함수를 호출한다. 그러면 바깥을 감싸는 함수가 작아질 뿐 아니라, 블록 안에서 호출하는 함수 이름을 적절히 짓는다면, 코드를 이해하기도 쉬워진다. (p.43~p.44) 한가지 작업만 하는 함수는 자연스럽게 섹션으로 나누기도 어렵다. (p.45) 코드는 위에서 아래로 이야기처럼 읽혀야 좋다. 한 함수 다..

TIL 2장 의미있는 이름

오늘 TIL 3줄 요약 의도가 드러나는 이름을 사용해라. 대충 훑어봐도 이해할 수 있는 코드를 작성해야한다. 암기는 도구들에게 맡기고, 우리는 잘 읽히는 코드를 짜는데에만 집중해야한다. TIL (Today I Learned) 2022.04.24 오늘 읽은 범위 2장. 의미있는 이름 책에서 기억하고 싶은 내용을 써보세요. 각 개념에 이름만 붙여도 코드가 상당히 나아진다. (p.23) 읽는 사람이 차이를 알도록 이름을 지어라. (p.27) 발음하기 어려운 이름은 토론하기도 어렵다. 바보처럼 들리기 십상이다. (p.27) 이름 길이는 범위 크기에 비례해야한다. 변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하다. (p.28) 클래스 이름: 클래스 이름과 객체 이름은 명사나 명사구가 적합..

TIL 추천사 ~ 1장 깨끗한 코드

오늘 TIL 3줄 요약 나쁜 코드는 언젠가 발목을 잡는다. 깨끗한 코드는 세세한 사항까지 꼼꼼하게 신경써야한다. 읽기 쉬운 코드가 매우 중요하다. TIL (Today I Learned) 2022.04.23 오늘 읽은 범위 추천사 ~ 1장. 깨끗한 코드 책에서 기억하고 싶은 내용을 써보세요. 기계가 실행할 정도로 상세하게 요구사랑을 명시하는 작업, 바로 이것이 프로그래밍이다. (p.2) 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. (p.7) 깨끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다. (p.12) 중복을 피하라. 한가지 기능만 수행하라. 제대로 표현하라. 작게 추상화하라. (p.14) 새 코드를 짜면서 우리는 끊임없이 기존 코드를 읽는다. 비율이 이렇게 높으..

728x90