반응형

# PMD 

  • Programming Mistatke Detector

## PMD 도구 개요

  • 정해진 규칙에 따라 소스코드를 검사해주고, 이에 대한 결과를 report 하게 함으로서 코딩 효율을 높여주는 도구이다.
  • 주요 기능 : Code Check / Reporting
  • 카테고리 : Quality Management
  • 세부 카테고리 : 정적 분석
  • 커버리지 : Java, Java Script, JSP, XML, XSL
  • 라이센스 형태 : BSD - Style (무료)
  • 사전 설치 도구 : JDK, Eclipse
  • 운영체제 : Windows, Linus, Max OS X, UNIX

## PMD 특징

  • 작성한 코드에 대한 위반사항을 찾는다. (위반 코딩 스타일, 불필요한 코드)
  • 위반 사항을 면ㅇ시한 report 파일 (pmd.xml, cpd.xml file) 에 대한 수정이 쉽다.
  • 한 번 클릭으로 수 많은 규칙에 대한 수정이 가능하다.
  • 관련 도구 : Eclipse Metrics / checkclipse / Checkstyle / FindBugs / Jamit / Simain
  • 제작사 : maven

## PMD 기능 요약

  • 소스코드 검사 범위 : 프로젝트
  • 대상 언어 : Java / JavaScript / XML / XSL / JSP
  • 코드 위배사항 발견 : 지원 (코딩 스타일 및 사용하지 않는 코드)
  • 결과 파일 보고, 중복 코드 검사 : 지원
  • 우선 순위 시각화 : 지원 (5단계)
  • 규칙 설정 : 지원 (사용자 정의 설정 / 기본 설정)

## PMD 도구 실행 환경

  • 자바를 지원하는 IDE 상에서 설치 및 구현 가능
  • 다양한 OS 지원
  • JDK, 자바 기반 도구가 필요하다. (IDE 등)
  • 코드 및 플러그인 형태, 고구에 포함되어 있는 형태로 제공

## PMD의 주요 기능

  • 소스 코드 검사, CPD 적용, 보고서 작성
  • 프로젝트 코드를 Rule에 따라 적절하게 구현되어 있는지 확인 : 규칙 기반 source code 검사
  • 중복 코드의 검색 : CPD (Copy / Paste Detector) : project > properties
  • PMD와 CPD를 이용하여 check한 결과를 report로 작성
반응형
반응형

# 오버로딩 vs 오버라이딩

  • 오버로딩 : 기존에 없는 새로운 메서드를 정의하는 것(new)
  • 오버라이딩 : 상속받은 메서드의 내용을 변경하는 것(change, modify)

# 파싱 (parsing)

  • 저장된 값을 원하는 형식의 값으로 가공해 읽어오는 것

# 디버깅 (debugging)

  • 버그(bug) : 프로그래머가 실수로 잘못 코딩한 프로그램을 실행하면 발생하는 오류(error) 또는 현상
  • 디버깅 : 버그를 검사하고 수정하는 작업
반응형

'기타' 카테고리의 다른 글

테이블 사이즈 조정  (0) 2021.01.26
PMD  (0) 2021.01.11
오버라이딩  (0) 2020.12.09
메서드 오버로딩, 오버로딩  (0) 2020.12.09
지역 변수, 클래스 변수, 인스턴스 변수  (0) 2020.12.09
반응형

# 오버라이딩

  • 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것
  • 오버라이딩의 조건
자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 이름, 매개변수, 리턴타입이 같아야 한다.
  • 조상 클래스의 메서드를 자손 클래스에서 오버라이딩 할 때.
접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
예외는 조상 클래스의 메서드보다 많이 선언할 수 없다.
인스턴스 메서드를 static 메서드로 또는 그 반대로 변경할 수 없다.
반응형

'기타' 카테고리의 다른 글

PMD  (0) 2021.01.11
오버로딩, 오버라이딩, 파싱, 디버깅  (0) 2020.12.10
메서드 오버로딩, 오버로딩  (0) 2020.12.09
지역 변수, 클래스 변수, 인스턴스 변수  (0) 2020.12.09
mybatis, ibatis <![CDATA[ ... ]]>  (0) 2020.12.09
반응형

# 메서드 오버로딩(=오버로딩)

  • 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것
  • 오버로딩의 성립 조건
메서드의 이름이 같아야 한다.
매개변수의 개수 또는 타입이 달라야 한다.
  • 오버로딩의 대표적인 예 : println()
반응형

+ Recent posts