🏄♀️〰️
- 클린코드 #10 10장 클래스 깨끗한 클래스 작성을 소개하는 장. 클래스는 작고 변경이 쉬워야 한다. 좋은 클래스 코드 작성을 위해서는 수차례 리팩토링이 필요하며 이때는 테스트 코드 작성 후 코드 변경 시마다 테스트를 수행해 원래 프로그램과 동일하게 동작하는지 확인한다. 1. 클래스 체계 변수 목록 정적 공개 상수(static public) 정적 비공개 변수(static private) 비공개 인스턴스 변수(private instance) 함수 목록 공개 함수 비공개 함수 2. 객체지향 프로그래밍의 SOLID 원칙 단일 책임 원칙(SRP, Single Responsibility Principle): 하나의 클래스는 하나의 책임을 가져야 한다. 개방-폐쇄 원칙(OCP, Open/Closed Principle): 클래스는 ..
- 클린코드 #9 9장 테스트 코드 깨끗한 단위 테스트 코드를 소개하는 장. 테스트 코드는 실제 코드만큼 중요하다. 테스트 코드에서 실제 코드보다 가독성이 더 중요해진다. 1. TDD 법칙 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. ▪️ 단위 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 개발과 테스트 코드는 30초 주기로 묶인다. ▪️ 실제 코드가 변경되면 테스트 코드도 변한다. 테스트 코드가 복잡할수록 실제 코드 짜는 시간보다 테스트 케이스를 추가하는 시간이 더 걸린다. 2. 테스트 코드 작성 법칙 개념 당 assert 문 수를 최소로 줄여라 한 테스..
- 클린코드 #7 7장 오류 처리 깨끗한 오류 처리 코드를 작성하는 방법을 소개하는 장. 오류 처리를 프로그램 논리와 분리하면 독립적인 추론이 가능하므로 코드 유지보수성이 높아진다.(아래의 순서는 내가 이해하기 쉽도록 임의로 섞어서 그룹핑 해 둔 것이다.) 1. 오류보다 예외 처리 오류 코드보다 예외 처리를 사용하라 예외가 발생할 코드에서는 try-catch-finally문을 먼저 작성하라: try문에서 강제로 예외를 일으키는 테스트 케이스 작성 후 catch문을 테스트하고 난 다음, try문에는 절대 예외가 발생하지 않는다고 가정하고 코드를 작성할 수 있다. 예외에 의미를 제공하라. 예외에 오류 메시지 객체(연산 이름+실패 유형)를 첨부하고, catch문에서 로깅 기능으로 오류를 기록하라 2. 예외 처리 기법 메서드에서..