SW 유지보수성 향상을 위한 Clean Code
코드의 품질
시각이 다 다름
계속 개선해야 함
그래서 Clean Code란?
이해하기 쉽고 변형하기 쉬운
사람이 읽고 이해하기 쉬운
단순한 한 가지 역할 + 명확한 이름
중복이 없다
테스트 케이스가 있다
클린 코드를 잘 쓰면 귀찮은 일이 없어진다
Clean Naming
좋은 이름은 내부를 들여다보지 않아도 동작과 목적을 쉽게 이해할 수 있음
코드 읽는 사람의 인지적 부하를 최소화할 수 있음
변수 → 출력하지 않아도 데이터를 알 수 있게끔
함수/메소드 → 동작 예측 가능, 코드를 이해 못해도 활용 가능
객체 → 이름만 봐도 어떤 객체가 만들어지는지
원칙
일단 의미가 명확해야 함
줄임말 쓰지 말 것, 규칙과 일관성, 동료와 상의
이해가능한 최소한의 정보 + 적당한 길이(너무 짧은 것도 안 됨)
코드 리뷰
작성된 코드를 작성자 외의 리뷰어가 읽으며 피드백
품질 향상을 위한 활동
Clean Method
크기만으로 판단은 불가
한 가지 역할만!
지속적인 개선이 중요하다
Clean Comment
기본적으로 Bad Smell → 코드 자체로 충분히 의미를 설명하지 못한다는 반증 || 불필요, 중복적, 잘못 된 정보 제공
가급적 comment를 피하고 code로 의미를 표현하는 연습
Clean Formatting
동작에는 영향 X, 가독성에는 크게 영향을 줌
하기 쉬움(이름 짓는 것, 메소드 짧게 만드는 것 보다 낫다)
규칙(조직 내)에 따라 formatting 하기
코드 리뷰, 정적분석 도구 활용하기
Clean Control Structrue
신경 쓰지 않으면 복잡도 증가 → 이해 쉽게, 중첩 적게
최대한 빨리 실패하기(Fail Fast/Early Return)
Clean Refactoring
매일 지속적으로 수행하는 작은 코드 개선 작업
티클 모아 태산 → 아무리 적어도 매일 작업하면 품질 개선 O
최대한 안 좋은 코드를 감지하고 정리하기
코드프레소 Java 웹 개발 체험단 활동 중(https://www.codepresso.kr/)
'Codepresso' 카테고리의 다른 글
Spring Boot를 활용한 웹 개발 초급 (0) | 2022.03.19 |
---|---|
처음 시작하는 SQL 프로그래밍 강의노트(2) (0) | 2022.03.03 |
MySQL 입문 강의노트 (0) | 2022.02.08 |
Spring Boot 웹 개발 입문 강의노트 (0) | 2022.02.08 |
[Java 프로그래밍 초급] 강의노트 (0) | 2022.01.25 |