티스토리 뷰

iOS/개발주저리

[iOS] 누군가의 소스코드를 분석하기란...

감성개발자 썩소천사 2015. 1. 16. 22:36
반응형


새로 입사한 회사에서 대략 4개월정도 투자해서 만들었을만한 앱을 Android, iOS 모두 보게 되었다.

iOS야 초장기부터 벌써 4년넘게 봐서 어느정도 능숙하다라고 말할 수 있지만 그렇다고 스스로 잘한다는 생각은 들지 않는다.


소스코드를 보면 그사람의 성격이나 능력 개발 경력등이 보인다.

이번 아이폰 소스는 경력이 많지 않은 사람의 것이리라는 생각이 들었다. 

대략 1년 정도? 개발자로 생각되었다.

그 이유를 들자면 이렇다.

1. 기본적인 주석을  한 줄 한 줄 해더파일조차 달아놓았다.

2. 오래된 개발 방식으로 개발되었다. xib

3. 하나의 클래스에 3천 라인이 넘어간다. 

4. 프로토콜을 남발하였다. 프로토콜이 하나의 클래스에서 3~4개 클래스를 거쳐 호출 된다.

5. 너무 세분화 시킨 나머지 하나의 화면을 구성하는데 3~5개의 xib를 사용해야 한다.

6. 프레임을 강제로 사용하였다.

7. 공통요소의 화면을 세분화 하여 수정이나 변경하는데 각각의 클래스와 xib를 수정하기 때문에 손이 많이간다.

8. 리소스와 클래스 파일들을 폴더로 정리하지 않고, 워크스페이스에서만 정리해 놓았다.(한 폴더에 리소스와 클래스가 실질적으로 다 들어 있어 향 후 리소스 변경등에 있어 최악이다.)

9. 버그가 많다.

10. property 설정을 남발 하여 부모 클래스에 기능이 몰릴 경우 수정이 어렵다.


반대로 잘 되어있는 점은

1. 주석이 잘 달려 있어 이해하거나 해당 부분을 찾는데 어렵지 않다.

2. 서버와 규약등을 동일한 형태로 사용하여 연동부분에서 부담을 덜었다.


대략 정리해 보면 다음과 같다.

storyboard를 사용했더라면 화면 흐름을 이해 하는데 있어 용의하고, 리사이징에 있어서 몇 배 더 빠른 시간적 소모를 덜 수 있었을 텐데 아쉽다라는 생각이 든다. 개발 시기가 올 초인점을 감안하면 스토리보드가 나온지 1년이 넘은 시점이라 생각이 되기 때문이다. xib는 화면 레이아웃을 조각조각 붙여서 만들기 때문에 화면 하나를 전체 수정하거나 변경할 경우 모든 xib, class, protocal 등 종속적인 모든 부분을 찾아서 바꿔줘야 한다.


부분적인 곳을 수정했을 때 문제가 없다고 착각했지만, 화면 전체를 뜯어보니 문제가 심각해 졌다.

일정 2일 잡았는데 3~4일 소요될 것 같다라는 불안감이 몰려온다.

아이패드 리사이징 시키기 전에 퇴사를 해야 할 것 같다.


안드로이드도 동일하게 수정을 해야하는데 아이폰보다 안드로이드 개발 속도가 더 빠르다.

차라리 안드로이드만 하겠다고 해야할지 모르겠다.



반응형
댓글
댓글쓰기 폼
공지사항