2013년 4월 27일 토요일

iOS 프로그래밍팁 - XCode Analyze 이용하기 (정적 분석)



XCode 에서 Product -> Analyze

static analyze 기능이 포함 되어 있다.


ARC option이 설정된 프로젝트를 ARC 설정을 제거 하고 
이 기능을 이용해서 문제점을 찾아 작업을 할 수도 있다.

Codesonar 나 SPARROW 같은 정적 분석툴을 XCode에서는 사용할 필요가 없겠다.
아주 훌륭한 정적 분석기가 내장되어 있는 XCode 정말 아름답다.


이 기능을 모르던 시절에 작업한 프로젝트를 돌려 보니 다양한 문제점을 보여준다.
아래는 그러한 유형을... 
이걸 보면 코드를 아름답게 다시 작성 할수 있다.


1. Memory Potential leak : 잠재적 메모리 누수


request 객체가 잠재적인 메모리 누수가 있음을 알려준다.
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:
                                    [NSURL URLWithString:[NSString 
.... 생략
--> autorelease를 추가 해야 한다.


2. Logic error : 논리 오류

if 문 ~ else if 의 else가 없다. rowCount는 초기화 되지 않고 리턴 될수 있음을 알린다.


3. Optimization 사용하지 않는 객체를 Class  선언시 멤버로 가지고 있다.


4. Dead Store : 설정만 하고 사용하지 않는 변수





댓글 없음: