안녕하세요 케이치입니다.
오늘은 수많은 소스 정적 분석 툴 중에서 세가지 툴에 대한 비교를 해볼까 합니다.
이미 어떤 분이 분석을 해놓은 영문 자료가 있어서 번역을 해보았습니다.
Findbugs |
PMD |
Checkstyle |
|
버전 | 3.0.0 | 5.2.2 | 6.1.1 |
라이센스 |
Lesser GNU Public License | BSD-style license | Lesser General Public License |
목적 | 잠재적 버그 찾기 ( 자바 소스파일이 아닌 바이트 코드를 이용 ) |
잠재적인 문제들, 버그 가능성이 있는 부분들, 사용되지 않았거나 최적화되지 않은 코드들 검색 |
자바 소스 파일을 읽어서 소스 코드 표준에 위반되는 것들을 검색, e.g. Sun Code Conventions, JavaDoc |
장점 | - 실제 결함을 잘 찾아줌 - 찾은 결함이 엉뚱한 결함일 확률이 낮음 ( 정확성이 높음 ) - 바이트 코드를 읽음으로 속도가 빠름 |
- 종종 실제 결함을 찾아줌 - finds bad practices |
- 정해준 코딩 규약에 위반되는 것들을 검사해줌. 직접 코딩 규약을 만들어 사용가능. |
약점 | - 컴파일된 클래스 파일에서 바이트 코드를 읽어서 사용해야하므로 빌드과정이 필수 | - 복제된 코드를 찾는 속도가 느림 | - 실제 버그를 찾을 수 없음 |
규칙 수 | 408 | 234 | 132 |
규칙 카테고리 |
Correctness Bad practice Dodgy code Multithreaded Correctness Performance Malicious Code Vulnerability Security Experimental Internationalization |
JSP - Basic JSF - Basic JSP XSL - XPath in XSL Java - Design - Coupling - Jakarta Commons Logging - Basic - Strict Exceptions - Security Code Guidelines - Java Logging - Android -Controversial - Comments - Type Resolution - Empty Code - String and StringBuffer - Code Size - Braces - Unused Code - Unnecessary - J2EE - JavaBeans - Migration - Import Statements - JUnit - Naming - Finalizer - Optimization - Clone Implementation Ecmascript - Basic Ecmascript - Unnecessary - Braces XML - Basic XML |
Annotations Block Checks Class Design Coding Duplicate Code Headers Imports Javadoc Comments Metrics Miscellaneous Modifiers Naming Conventions Regexp Size Violations Whitespace |
출처 : http://www.sw-engineering-candies.com/blog-1/comparison-of-findbugs-pmd-and-checkstyle
실제로 세 가지를 모두 다운로드 받아서 테스트도 해보았고 FindBugs는 실제 서비스에 기능으로 적용도 해보았습니다.
우선 잠재적인 버그 분석을 위해서는 FindBugs가 단연 최고였습니다.
그리고 코딩컨벤션을 정해놓고 확인하기에는 CheckStyle이 좋습니다.
FindBugs와 CheckStyle은 사용하는 목적 자체가 다른 툴이었습니다.
PMD는 이도저도 아닌 그저그런 툴로 기억합니다.
--- 이하 최초 발행글 ---
필요에 따라 하나씩만 사용하셔도 되지만 세가지를 모두 사용하시면 좀 더 확실한 정적 툴 분석을 하실 수 있을 것 같습니다.
세 툴을 모두 처음 사용하신다면 제일먼저 FindBugs를 사용하시고 그 다음 PMD 그리고나서 마지막에 CheckStyle을 사용하실 것을 권장드립니다. 이건 다른 분이 하신 말씀이고요....전 CheckStyle만 잠깐 써봤는데요, CheckStyle은 뭐랄까 회사 내부의 코딩 정책을 정의해서 사용하면 좋을만한 그런 툴이더군요. 대신 룰을 너무 과하게 주면 개발자들이 좀 싫어할 수 있을 것 같다는 생각이 드네요.
아래 링크는 FindBugs 프로젝트에 참여한 메릴랜드 주립대 교수님의 1시간 분량짜리 세미나입니다.
관심있으신 분들은 보시면 좋을것 같네요. 참고로 언어는 영어입니다.
https://www.youtube.com/watch?v=8eZ8YWVl-2s
이상 케이치였습니다.
오늘도 즐프하세요~~ ^-^
SonarQube 정적분석 툴 설치 및 사용하기 (0) | 2015.08.07 |
---|---|
SonarQube 서버 실행시 메모리 부족 오류 (0) | 2015.08.06 |
무료 벡터 이미지 툴/에디터 ( Inkscape ) 다운로드 및 설치 (0) | 2015.07.30 |
무료 이미지 에디터 김프 ( GIMP ) 다운로드 및 설치 (0) | 2015.07.30 |
맥(Mac) 스크린샷 단축키 (0) | 2015.07.25 |
안녕하세요, 조금전에 김프(GIMP) 이미지툴을 소개해 드렸었는데요
잠깐 써봤더니 이게 벡터이미지를 그리는 툴은 아닌것 같아서
벡터이미지 툴을 다시 검색해서 찾아낸 따끈한 벡터이미지 툴을 소개합니다.
그 이름하야 Inkscape 입니다.
이 역시 윈도우, 맥, 리눅스에서 사용가능한 크로스 플랫폼 툴입니다.
아래는 잉크스케이프의 홈페이지입니다.
다국어 처리가 되어있어서 들어가면 바로 한국어로 뜹니다.
(이미지를 클릭하면 홈페이지로 이동합니다.)
상단 메뉴에도 있고 우측에도 다운로드 버튼이 잘 보이네요.
저는 우측에 새 부리가 가리키는 다운로드 버튼을 클릭했습니다.
OS별로 다운로드할 수 있도록 되어있습니다.
제일 좌측의 펭귄이 리눅스용이고 가운데가 윈도우용 제일 우측이 맥용입니다.
전 지금 윈도우 컴퓨터 앞에 앉아있으니 가운데 윈도우 로고 그림을 클릭하겠습니다.
윈도우는 또 32비트와 64비트가 있으니 한번 더 선택을 해야합니다. 제 컴퓨터는 64비트이므로 64비트용 아래쪽 이미지를 클릭해서 설치파일을 다운로드 받아서 실행시켰습니다.
셋업화면은 다국어처리가 안되있네요.
라이센스 동의에 체크를 하고 다음~~
뭐 기본설정으로 설치할거냐 알아서 선택할거야 전부 다 할거냐 물어보는 화면은 많이들 보셨죠? 까이꺼 대충 그냥 Typical로 설치해봅시다.
Install 클릭! 클릭!
설치가 완료되었습니다!!!! 우와!!!!!
이제 나도 게임케릭터를 벡터이미지로 그릴수 있다!!!
포토샵 일러스트 필요없다!!! 우하하!!!
이상 친절한 케이치였습니다.
^-^ ㅎㅎ
좋은하루 되세요 여러분~~
SonarQube 서버 실행시 메모리 부족 오류 (0) | 2015.08.06 |
---|---|
소스 정적 분석 툴 비교 ( FindBugs vs. PMD vs. CheckStyle ) (0) | 2015.08.04 |
무료 이미지 에디터 김프 ( GIMP ) 다운로드 및 설치 (0) | 2015.07.30 |
맥(Mac) 스크린샷 단축키 (0) | 2015.07.25 |
무료 사운드 에디터 ( Free Sound Editor for Windows, Mac, Linux) (0) | 2015.07.22 |
안녕하세요 케이치입니다~
오늘은 무료 이미지 편집 툴을 소개해 드리려 합니다.
제가 요새 안드로이드 게임 개발을 독학으로 하고있습니다.
근데 게임이란게 모든 파트가 다 중요하지만 그 중에서도 사람들의 시선을
끄는 멋있는 그래픽이 아무래도 가장 중요하지 않나 싶습니다.
전 개발자이지 디자이너는 아니지만 사람들의 첫인상이 중요한것처럼
게임의 첫인상도 중요한데 그 첫인상은 바로 이 그래픽이라고 생각합니다.
여기서 그래픽이라는건 뭐 해상도가 좋은 3D 그래픽 이런걸 말하는게 아니고요 그냥 2D라도 좀 더 귀엽고 이쁘고 깔끔한 그런 그림을 말하는 거에요 ^-^
서두가 좀 길었네요.
제가 이번에 소개해드리는 툴은 GNU 라이센스를 갖고있는 GIMP (GNU Image Manupulation Program) 라는 툴입니다.
Mac, Windows, Linux에서 사용이 가능한 멀티플랫폼 툴입니다.
아래는 GIMP의 홈페이지입니다. ( 아래 이미지를 클릭하시면 김프 홈페이지로 이동합니다. )
역시 Download 버튼은 눈에 띄게 해놓았네요. 다운로드 버튼을 클릭합니다~~ 그럼 아래와 같은 화면이 나옵니다.
전 윈도우에서 클릭하니까 아래처럼 for Windows 버전을 다운로드하도록 나오는데 아마 다른 OS 쓰시는 분들은 해당 OS용 GIMP 다운로드 링크가 나올겁니다.
자, 그럼 Download 버튼을 클릭합니다. 두개가 있는데 주황색으로 된 버튼을 선택하시면 되요~
다운받아서 설치파일을 실행시키면 아래처럼 Setup 언어를 선택하라고 나오는데 한국어는 없네요.
저는 영어를 잘하니까 그냥 영어 선택합니다 ㅋㅋㅋㅋ
그랬더니 아래처럼 시원한 바다속에서 숨못쉬고있는데 웃고있는 검은여우같은 녀석이 나오네요.
그냥 Install 버튼 클릭! 클릭!
아래처럼 설치가 시작이 됩니다...
아래는 설치가 완료된 화면이구요
이제 실행시켜봐야겠죠??
셋업때에는 영어로만 나왔는데 셋업하니까 프로그램 내부적으로 다국어 처리를 해놨는지 한글로 나옵니다.
뭔가 포토샵과 비슷한 분위기가 있는것 같네요.
이상 케이치였습니다~~
읽어주셔서 감사합니다.~ ^-^
후덥지근한 여름 건강 조심하시구요~
모두 즐프하세요~~~
-------------- updated -------------------
김프 2.4 한글판 메뉴얼 링크 ( GIMP Korean Manual )
소스 정적 분석 툴 비교 ( FindBugs vs. PMD vs. CheckStyle ) (0) | 2015.08.04 |
---|---|
무료 벡터 이미지 툴/에디터 ( Inkscape ) 다운로드 및 설치 (0) | 2015.07.30 |
맥(Mac) 스크린샷 단축키 (0) | 2015.07.25 |
무료 사운드 에디터 ( Free Sound Editor for Windows, Mac, Linux) (0) | 2015.07.22 |
IBM AIX 서버에서 OOM(OutofMemory 에러 잡는 방법) (0) | 2015.04.20 |