클린 코드란?
- 원하는 로직을 빠르게 찾을 수 있는 코드
- 모든 팀원이 이해하기 쉽도록 작성된 코드
유지보수 시간의 단축
일반적으로 기존 코드를 변경하고자 할 때, 해석하는 시간과 수정하는 비율이 10:1이라고 한다.
코드를 변경하기 위해서 걸리는 전체 시간이 10시간이라고 하면,
코드를 분석하는 시간이 9시간 이상 걸린다는 말과 같다.
해석이 어려운 코드는 그만큼 코드를 분석하는 시간을 늘어나게 한다. 더욱이 대부분의 결함은 기존 코드를 수정하는 동안에 발생하기 때문에 이해하기 쉬운 코드가 오류의 위험성을 최소화할 수 있다.
Follow Standard Conventions
- 코딩 표준, 아키텍쳐 표준 및 설계 가이드를 준수해야 한다.
Keep it simple, Stupid
단순한 것이 효율적이며, 복잡함을 최소화해야 한다.Boy Scout Rule
- 참조되거나 수정되는 코드는 원래보다 클린해야 한다.
- 자신이 담당한 코드는 담당하기 이전의 코드보다 더 클린하게 만들어야한다
Root Cause Analysis
- 항상 근본적인 원인을 찾아야한다. 그렇지 않으면 반복될 것이다.
Do Not Multiple Languages in One Source File
- 하나의 파일은 하나의 언어로 작성한다.
Simple Responsibility Principle(SRP)
- 하나의 클래스는 하나의 책임만 가져야 한다.
- Open/Closed Principle(OCP)
- 클래스는 확장에 대하여 열려 있어야 하고, 변경에 대해서는 닫혀 있어야 한다.
- Liskov Substitution Principle(LSP)
- 파생 클래스의 메소드는 기반 클래스의 메서드를 대체하여 사용될 수 있어야 한다.
- Interface Segregation Principle(ISP)
- 클라이언트가 사용하지 않는 메소드에 의존하지 않아야 한다.
- Dependency Inversion Principle(DIP)
- 추상화된 것은 구체적인 것에 의존하면 안된다.
String s; //공연일자 (x)
String concertDate; // 공연일자 (o)
🙇 참고 사이트 🙇
https://www.samsungsds.com/kr/insights/cleancode-0823.html?referrer=https://talkwithcode.tistory.com/73 https://talkwithcode.tistory.com/73 https://shinsunyoung.tistory.com/124