본문 바로가기

분류 전체보기119

10장. 클래스 3줄 요약 클래스는 작아야 한다. 단일 책임 원칙(SRP Single Responsibility Principle)은 클래스나 모듈을 변경할 이유가 하나 뿐이어야 한다는 원칙을 기억해야 한다. 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. 책에서 기억하고 싶은 내용을 써보세요. 작명은 클래스를 줄이는 첫번째 관문이다. 간결한 이름이 떠오르지 않는다면 클래스가 너무 커서 그렇다고 생각하자 소프트웨어가 돌아가는 것과 깨끗한 코드를 만드는 것은 별개이다 큰 클래스 몇개가 아니라 작은 클래스 여럿으로 이루어진 시스템이 더 바람직하다. 결합도를 최소로 줄이면 자연스럽게 또 다른 클래스 설계 원칙인 DIP(Dependency Inversion Principle)를 따르.. 2022. 5. 11.
9장. 단위 테스트 3줄 요약 TDD 법칙 세가지 테스트 코드도 깨긋하게 잘 작성되어야 한다. 깨끗한 테스트는 FIRST(Fast, Independent, Repeatable, Self-Validating, Timely) 규칙을 따른다 책에서 기억하고 싶은 내용을 써보세요. 테스트 코드를 깨긋하게 유지하지 않으면 결국 잃어버리게 된다. 코드가 변함에 따라 테스트 코드도 변해야 하기 때문이다 테스트 당 assert는 하나씩 작성할 수도 있다. 이런 경우 코드를 이해하기 쉽고 빠르다 테스트 통과 여부를 알려고 로그 파일을 읽게 만들어서는 안된다. given-when-then이라는 관례를 사용한다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 테스트 코드를 작성하는 것에서 재사용을 고려를 안했었는데, 코드 작성하는 것과.. 2022. 5. 10.
제8장 경계 3줄 요약 외부 코드나 오픈소스를 사용할 때 경계를 잘 고민해야 한다. 테스트케이스를 작성해 외부 코드를 익힌다(학습테스트) 경계에 위치하는 코드는 깔끔히 분리한다. 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자 책에서 기억하고 싶은 내용을 써보세요. 외부 코드를 쓸 때 새로운 클래스로 경계를 감싸거나 아니면 ADAPTER 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자 항상 코드 가독성을 고려하고, 경계 인터페이스를 사용하는 일관성을 높이게 해야 한다. 외부 패키지가 변했을 때 코드가 변경되는 부분을 줄여야 한다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 외부 패키지나 라이브러리를 사용할 때 큰 고민없이 사용했었는데, 코드가 변경되고 원하지 않.. 2022. 5. 9.
7장. 오류처리 3줄 요약 오류 코드보다 예외를 사용하라 예외 클래스를 정의하라 null을 반환하지 말고 전달하지도 마라. 책에서 기억하고 싶은 내용을 써보세요. 오류가 발생하면 예외를 던지는 편이 낫다. 그래야 코드가 더 깔끔해진다. 논리가 오류 처리 코드와 뒤섞이지 않기 때문이다. 예외 클래스가 하나만 있어도 충분한 코드가 많다. 예외 클래스에 포함된 정보로 오류를 구분해도 괜찮은 경우가 그렇다. 메서드에서 null을 반환하는 방식도 나쁘지만 메서드로 null을 전달하는 방식은 더 나쁘다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 코드에서 오류 처리를 많이 했었는데 이것을 예외 처리로 해야 코드가 더 깔끔해진다는 것을 배웠고, null에 대해 크게 신경쓰지 않고 작성을 했었는데 이 부분에서 더 고민을 많.. 2022. 5. 6.