728x90
✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨
💜 코드프레소 이러닝 강의 수강 중 - SW 유지보수성 향상을 위한 Clean Code 💜
😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎
Q1. Clean Code란?
- Clean Code는 이해하기 쉽고 수정하기 쉬운 Code를 의미하며, 이는 SW 유지보수성을 향상 시킨다. 표준은 없으며, 신뢰성/안정성은 Clean Code의 영역이 아니다.
Q2. SW의 좋은 이름은?
- 함수의 이름은 그 함수가 어떤 동작을 하는지 명확하게 설명해야 한다
- Boolean 변수의 이름은 이름 자체가 True/False를 답할 수 있는 질문 형태가 좋다
- 줄임말은 코드의 가독성을 심각하게 저해한다
- 변수의 이름에 중복적이고 불필요한 정보는 제거하고 이해 가능한 최소한의 정보로 유지해야 한다
Q3. Clean Method/Function 란?
- 호출하는 사람이 사용하기 용이해야 한다
- 유지보수 하는 사람이 이해하고, 변경하기 용이해야 한다
- 유지보수 하는 사람이 테스트 하기 용이해야 한다
- 좋은 함수/메소드는 최초 작성 시에 시간과 노력을 투자하여 유지보수 단계에서 사용하기, 이해하기, 변경하기, 테스트하기 용이해야 한다
Q4. 내가 만든 코드와 내 자신을 분리하여 코드의 공동 소유, 공동 책임을 강화하는 비자아적 프로그래밍의 개념에 도움이 되는 실천 방법?
- 페어 프로그래밍
- 지속적이고 주기적인 코드 리뷰
- 비자아적 프로그래밍을 위해서는 여러 사람이 함께 코드 작업에 대한 작업을 하는 페어 프로그래밍 또는 주기적인 코드 리뷰가 중요하다
Q5. Cyclomatic Complexity
- 조건문의 구조를 Node와 Edge로 표현한 후 그 복잡도를 Method/Function 단위로 측정하는 지표
- 조건문 중첩의 복잡도를 계산하는 지표
Q6. Clean Comment
- Comment는 대부분의 상황에서 피해야 할 코드의 Bad Smell이다
- Comment의 문제점은 실제 Code와는 다른 잘못된 정보를 제공할 수 있다
- 코드의 이력은 무조건 형상 관리 도구로 관리해야 한다
- Method는 이름 그 자체로 의미를 표현해야 하고 부가적인 Comment의 사용은 Bad Smell이다
Q7. 개선이 필요한 코드의 경고인 Code Bad Smell의 종류
- Long Parameter List
- Comments
- Duplicated Code
- Long Method
Q8. Code Refactoring
- 작은 개선이 쌓여 의미있는 품질 개선을 한다는 철학을 갖고 있다
- SW 품질 향상을 위해 기능의 변경 없이 내부 구조를 개선하는 기술이다
- 지속적이고 안정적인 Code Refactoring를 위해서는 단위 테스트 코드가 필수적이다
- Code Refactoring은 특별한 활동이 아닌 매일 매일 조금씩 코드를 개선하는 활동이다
- 하나의 Code Refactoring 활동은 매우 작아, 전체 SW를 깨뜨릴 가능성이 적다
Q9. Clean Control Structures
- 조건문은 가독성이 높도록 구성되어야 한다
- 가능한 한 빨리 실패하도록 구성되어야 한다
- 최대한 긍정 조건으로 표현한다
- 실패를 가시적으로 처리하기 위해 예외를 발생시키고, try-catch-finally 구조를 통해 비즈니스 로직과 오류 처리 로직을 분리시킨다
Q10. Code의 품질을 높이려면?
- Code 품질이 왜 중요하고 개인과 조직에 어떤 영향을 미치는지 이해해야 한다
- Code 품질 향상을 위해서 개인뿐만 아닌 조직 차원에서의 노력도 중요하다
- 품질 개선 프로세스와 문화를 만들어 지속적인 개선이 이루어질 수 있도록 해야한다
- 조직 내에서 Code 품질에 대한 공통된 합의가 있어야 한다
- Clean Code에 대한 명확한 기준 및 조직의 Code 품질 목표에 대한 컨센서스가 이루어져야 한다
728x90
'코드프레소 체험단 > Clean Code' 카테고리의 다른 글
[SW 유지보수성 향상을 위한 Clean Code] Clean Method (0) | 2022.01.24 |
---|---|
[SW 유지보수성 향상을 위한 Clean Code] Clean Naming (2) (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] Clean Naming (1) (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] Clean Code 소개 (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] 과정 소개 (0) | 2022.01.24 |
댓글