SOLID
- SRP (Single Responsibility Principle)
: 단일 책임의 원칙
: 클래스 (혹은 모듈, 함수 등)는 하나의 기능만 제공해야 한다
: 여러 기능이 하나의 클래스에 구현 되어있으면 고치기 어렵기 때문
- OCP (Open / Closed Principle)
: 개방 폐쇄의 원칙
: 기존의 코드를 변경하지 않고 기능을 수정하거나 추가할수 있도록 설계해야 한다
: 자주 변경되는 내용은 수정하기 쉽게 설계하고 변경되지 않아야 하는것은 영향을 받지 않아야 함
- LSP (Liskov's Subsstitution Principle)
: 리스코프 치환 원칙
: 자식 클래스는 부모 클래스에서 가능한 행위를 수행할 수 있어야 한다
: 자식 클래스와 부모 클래스 간의 일관성이 있어야 함
- ISP (Intferface Segregation Principle)
: 인터페이스 분리 원칙
: 한 클래스는 자신이 사용하지 않는 인터페이스를 포함하지 않아야 한다
: 하나의 일반적인 인터페이스 보다는 여러 개의 구체적인 인터페이스가 낫다
: 소프트웨어 내의 각 기능은 독립된 인터페이스로 작동해야 하며, 서로에게 영향을 끼치지 않아야 한다
- DIP (Dependency Inversion Principle)
: 의존 관계를 맺을때 변화하기 쉬운 것 보다 어려운 것에 의존해야 한다
: 구체화된 클래스보다 인터페이스나 추상클래스에 의존하는 것을 권장
: 의존성 주입
KISS (Keep It Simple Stupid / Keep It Short and Simple / Keep It Small and Simple)
- 소프트웨어의 설계와 코딩에 있어 되도록 간단하고 단순하게 만들라
: 소스코드나 설계 내용이 불필요하게 장황하거나 복잡해지는 것을 경계하라
YAGNI (You Ain't Gonna Need It)
- 필요한 작업만 하라
: 현재 사용하지 않는 기능을 확장성을 고려해서 미리 작업하지 마라
: 설계나 환경이 변경되었을때 수정해야하는 코드의 양이 늘어나기 때문
: 당장에 필요한 작업에 집중하고 쓸데없는 작업은 하지 마라
DRY (Do not Repeat Yourself)
- 소스코드에서 동일한 코드가 반복되게 하지말라
Refference
'Devops > DevOps' 카테고리의 다른 글
오픈 소스 컨트리뷰션 절차와 방법 (0) | 2021.09.18 |
---|---|
서버 관리의 변천사 (0) | 2021.09.13 |
[데브옵스 개발자 로드맵 2020] API 보안기법 - 2. API 인가 (Authorization) (0) | 2021.02.08 |
[데브옵스 개발자 로드맵 2020] API 보안기법 - 1. API 인증 (Authentication) (0) | 2021.02.08 |
[데브옵스 개발자 로드맵 2020] API (Application Programming Interface) (0) | 2021.02.07 |