본문 바로가기

원칙2

코드 테스트에 관한 약어(FIRST, Right-BICEP, CORRECT) FIRST : 좋은 테스트 조건이란? [F]ast 테스트는 빠르게 동작해야 한다. 느린 것에 의존하는 코드를 최소화하자. [I]solated 직접적 혹은 간접적으로 테스트 코드와 상호 작용하는 코드가 많을수록 문제가 발생할 소지가 늘어난다. 다른 단위 테스트에 의존하지 않는 결합도를 낮은 테스트 코드를 작성하자. 각 테스트가 작은 양의 동작에만 집중하면 독립적인 테스트 코드로 유지하기 쉽다. 테스트 코드에도 단일 책임 원칙을 적용하자. 테스트 메서드가 하나 이상의 이유로 깨진다면 테스트를 분할하는 것을 고려하자. [R]epeatable 테스트는 실행할 때마다 결과가 같아야 한다. 반복 가능한 테스트를 만들려면 직접 통제할 수 없는 외부 환경에 있는 항목들과 최대한 격리시켜야 한다. [S]elf-valid.. 2023. 2. 16.
SOLID 클래스 설계 원칙 단일 책임 원칙 (Single Responsibility Principle) 클래스는 변경할 때 한 가지 이유만 있어야 한다. 모든 클래스는 하나의 책임만 가진다. 개방 폐쇄 원칙 (Open / Closed Principle) 클래스는 확장에는 열려 있고 변경에는 닫혀 있어야 한다. 기존 클래스의 변경은 최소화한다. 리스코프 치환 원칙 (Liskov Substitution Principle) 하위 타입은 반드시 상위 타입을 대체할 수 있어야 한다. 파생 클래스로도 별다른 이해 없이사용 가능해야 한다. 인터페이스 분리 원칙 (Interface Segregation Principle) 클라이언트는 필요하지 않는 메서드에 의존하면 안 된다. 여러 개의 범용 인터페이스로 분할하라. 의존성 역전 원칙 (Depen.. 2023. 2. 13.