Joonas' Note
Joonas' Note
SOLID 원칙 - Single Responsibility Principle (SRP; 단일 책임 원칙) 본문
SOLID 원칙들은, 소프트웨어 작업에서 프로그래머가 소스 코드를 읽기 쉽고 확장하기 쉽게 될 때 까지 리팩토링하여
코드 냄새를 없애기 위해 쓰기 좋은 지침이다.
정의
Single Responsibility Principle (SRP; 단일 책임 원칙)
하나의 클래스나 모듈은 단 하나의 책임만 가져야 한다.
하나의 함수가 여러 개의 일을 한다는 뜻은 예측 불가능하다는 의미이다.
예시
아주 단적인 예시로, 끝 원소를 제거를 하는 함수가 삭제되는 원소를 반환할 이유는 없다. 제거만 하면 된다.
Element pop() {
if (size < 1) throw "Empty";
size = size - 1;
return array[size + 1]; // ?
}
삭제되는 값을 얻고 싶다면, pop 하기 전에 끝자리를 get 하는 것이 옳다.
즉, 삭제는 삭제만, 조회는 조회만 하는 것이 예측할 수 없는 사이드 이펙트를 줄일 수 있기 때문이다.
void pop() {
size = size - 1;
}
Element get() {
return array[size - 1];
}
즉, 기능을 더 쪼갤 수 없을 만큼 아토믹(atomic)한 것이 좋다.
참고
'개발' 카테고리의 다른 글
SOLID 원칙 - Liskov Substitution principle (LSP; 리스코프 치환 원칙) (0) | 2023.05.16 |
---|---|
SOLID 원칙 - Open/Closed Principle (OCP; 개방-폐쇄 원칙) (0) | 2023.05.16 |
Android Studio 깨끗하게 정리하기 (0) | 2023.01.29 |
[FastAPI + React] 소셜 로그인 구현하기 - 커스텀 로그인 (feat. 카카오) (0) | 2022.09.20 |
[FastAPI + React] 소셜 로그인 구현하기 - 구글 로그인 (0) | 2022.09.18 |
Comments