3학년 2학기 공부 과정/소프트웨어공학

08. 코딩과 리팩토링

환성 2022. 12. 21. 22:03
728x90

8-1 코딩 개요

  • 프로그래밍 언어
    • 포트란, 베이직, C, C++, C#, 자바
  • 코딩 작업
    • 오류가 적은 품질 좋은 프로그램
    • 설게 명세에 나타난 대로 요구를 만족할 수 있도록 프로그래밍

8-2 자주 발생하는 오류

  • 메모리 누수, 중복된 프리 선언, NULL의 사용, 별칭의 남용, 배열 인덱스 오류, 수식 예외 오류, 버퍼 오류…

8-3 코딩 규칙

  • 코딩 표준
    • 간결하고 읽기 쉬운 것
  • 주석 규칙
    • 원시 코드와 주석을 명확히 구분
    • 원시 코드와 주석이 일치하게 함

8-4 리팩토링

  • 결과의 변경 없이 코드의 구조를 재조정
  • 이미 존재하는 코드의 디자인을 안전하게 향상시키는 기술
  • 가독성을 높이고 유지보수를 편하게 하기 위한 것
  • 코드 스멜
    • 프로그램에 대한 작업을 어렵게 만드는 것
    • 읽기 어려운 프로그램
    • 중복된 로직
  • 목적
    • 소프트웨어 디자인 개선
    • 소프트웨어 이해하기 쉽게 만듬
    • 프로그램 빨리 작성
  • 코드스멜
    • 중복된 코드, 긴 메소드, 큰 클래스

8-5 코딩 품질 향상기법

  • 코드 인스펙션
    • 프로그램을 읽어보고 눈으로 확인하는 방법
  • 정적 분석
    • 수행되지 않는 데드코드 확인
  • 페어 프로그래밍
    • 애자일 방법에서 두 사람이 머신 공유하며 코딩
  • 테스트 중심 개발
    • 테스트를 위한 코드를 작성한 후 기능 구현
    • 주로 클래스 안에 있는 메소드 시험

 

'3학년 2학기 공부 과정 > 소프트웨어공학' 카테고리의 다른 글

09. 테스팅  (0) 2022.12.21
07. 설계_2  (0) 2022.12.21
06. 설계_1  (0) 2022.12.21
05. 요구 모델링  (0) 2022.12.21
04. 요구 분석  (2) 2022.12.19