2-4 053 애플리케이션 성능 개선 [A]

이지우·2024년 5월 6일
0

정보처리기사

목록 보기
43/68

소스 코드 최적화

나쁜 코드(Bad Code)를 배제하고 클린 코드(Clean Code)로 작성하는 것

클린 코드(Clean Code)
: 누구나 쉽게 이해하고 수정 및 추가할 수 있는 단순, 명료한 코드
: 잘 작성된 코드

나쁜 코드(Bad Code)
: 로직(Logic)이 복잡하고 이해하기 어려운 코드
스파게티 코드: 서로 복잡하게 얽혀 있는 코드
외계인 코드: 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 코드

클린코드 작성 원칙

  • 가독성
    : 누구든지 쉽게 읽을 수 있도록 작성
    : 이해하기 쉬운 용어 사용, 들여쓰기 기능 사용

  • 단순성
    : 간단하게 작성
    : 한 번에 한 가지 처리
    : 클래스/메소드/함수 등을 최소 단위로 분리

  • 의존성 배제
    : 코드가 다른 모듈에 미치는 영향 최소화
    : 코드 변경 시 다른 부분에 영향이 없도록 작성

  • 중복성 최소화
    : 코드 중복 최소화
    : 중복된 코드 삭제
    : 공통된 코드 사용

  • 추상화
    : 상위 클래스/메소드/함수에서 애플리케이션의 특성 나타냄
    : 하위 클래스에서 상세 내용 구현


소스 코드 품질 분석 도구

코딩 스타일, 코딩 표준, 코드의 복잡도, 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구

❗ 정적 분석 도구

  • 소스 코드를 실행하지 않고 코딩 표준, 코딩 스타일, 결함 확인
  • 개발 초기의 결함을 찾는데 사용됨
  • 개발 완료 시점에서는 품질을 검증하는 차원에서 사용됨
  • 자료 흐름이나 논리 흐름을 분석하여 비정상적인 패턴을 찾을 수 있음
  • 동적 분석 도구로는 발견하기 어려운 어려운 결함 찾을 수 있음
  • 코딩의 복잡도, 모델 의존성, 불일치성 분석 가능

종류
: pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura

동적 분석 도구

  • 소스 코드를 실행하여 메모리 누수, 스레드 결함 분석

종류
: Avalanche, Valgrind

profile
노력형 인간

0개의 댓글