소프트웨어 개발 원칙 세가지
1. DRY (Don’t Repeat yourself) <-> WET(Write Every Time, Write Everything twice, Waste Everyone’s Time)
- 반복되는 것을 피하자
- 반복된 코드에서 로직의 변경사항이 발생할 때 모든 곳을 변경해야 하고, 한군데를 빠트리면 더 문제상황
- 로직, 지식, 의도, 비즈니스 로직 이 모든것이 중복되지 않도록(광범위한 범위)
2. KISS(Keep It Simple, Stupid)
: 심플하게 만들었을 때 최고로 잘 동작함(불필요한 복잡성을 피하자)
- 가독성 있는 심플한 코드
- 메소드 네임, 변수를 가독성있게, 하나의 기능만을
- 하나의 책임만 담당하는 클래스
- UI에서는 비즈니스 로직을 빼고
- 하나의 서비스에서는 하나의 기능을 담당하는 개별적인 서비스
3. YAGNI (You Ain’t Gonna Need It)
- 지양할 것: 필요하지 않는 기능, 지금 당장 사용되지 않는 기능, 지나치게 미래지향적인 기능
- 지향: 클린하게, 변경 쉽게, 유지보수 잘할수있도록
Reference)
https://youtu.be/jafa3cqoAVM (드림코딩 엘리)