본문 바로가기
코드프레소 체험단/Clean Code

[SW 유지보수성 향상을 위한 Clean Code] 사전 테스트 복습!

by 의정부핵꿀밤 2022. 1. 22.
728x90

✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨

💜 코드프레소 이러닝 강의 수강 중 - SW 유지보수성 향상을 위한 Clean Code 💜

😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎

https://www.codepresso.kr/

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr


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

댓글