:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
12/03/31 00:50
1. 저같은 경우엔 라이브러리나 어플리케이션을 분석하는 문서를 함께 작성합니다.
나한테도 도움이 되지만 다른 사람에게 설명하는 용도(향후 인수 인계를 하거나 프리젠테이션을 하거나)로도 쓸 수 있고 좋습니다. 2. 더 좋은 알고리즘이 생각나면 다시 짜보는 것도 도움이 됩니다. 3. 없는 기능을 추가하거나 버그 수정, UI 변경 등을 해보는 것도 좋습니다.
12/03/31 01:01
상황에 따라 좀 다른데 저 같은 경우를 말씀 드리면
인수인계를 받아서 완성을 시켜야 할 정도의 일이 아니라면 전체적으로 분석 하는 경우는 없습니다. 요구 사항에 맞쳐서 딱 필요한 기능 정도만 찾아서 이해 하고 수정 합니다. 좀 경험이 많아 지다 보면 같은 종류의 소스들을 보는 거다 보니 큰틀은 대부분의 개발자들이 거의 비슷한 형태를 취하다 보니 수정 사항이 있거나 개선 해야 되는 부분이 생겼다 싶으면 에뮬레이터 이용 하셔서 브레이크 포인트 적절히 사용 하시면 해당 부분이 구현된 소스를 찾으실수 있고 수정 하면서 다른데 어떤 영향 안 끼치는지 적당히 탐색 하는 식입니다. 다른 사람 소스를 수정 해야 할때는 가급적 시간 낭비를 안할려는 편입니다. 뭔가 요구 사항 없이 나중에 뭐 할지 모르니깐 일단 소스 파악 해 두라고 하면 전 그냥 다른거 합니다. 글쓴님 처럼 졸려서 참을 수가 없어요. 가끔씩 잠을 깨우게 하는 코드들이 있기는 합니다만 그런 경우 빼고는 최대한 간단하게 실용적으로 접근 하는 편입니다. 그런데 개발 중간에 인수 인계 받아서 개발 해야 되는 거라면 좀 달라지기는 하는데 그래봤자 구현 할려는 기능 하나를 찾아서 기존에 어떤 식으로 작성 했는지 찾고 몇가지 수정 해봐서 사용법 익힌 다음 시작 합니다. 구현 할려는 기능을 정하시고 해당 부분부터 찾아서 실제로 직접 구현을 해보다 보면 자연스럽게 소스 파악이 됩니다. 저같은 경우엔 그러네요. 기존 개발자가 얼마나 표준을 지켜 주는지 변수명 짓는 거에 규칙성을 가지고 있는지 상속 등의 기능들을 쓸데 없이 남발 하지 않는지 등등에 따라 난이도가 달라지는 부분이긴 합니다. 기존 개발자가 문서 정리 잘하는 개발자면 정말 고맙습니다.
12/03/31 01:56
저도 작년에 취직해서 올해로 2년차에 접어드는 안드로이드 개발자입니다.
저같은 경우, 유지보수 해야 하는 에서는 시퀀스 다이어그램을 그냥 노트에 그려봅니다. 그러면 핵심 뼈대 로직들이 파악이 되고, 그 지식을 기반으로 업무를 해 나갑니다. 저같은경우, 학부생 시절에 패턴 공부를 해뒀던 것이 소스코드를 익힐 때 도움이 좀 되었습니다. 클래스 일부분만 봐도 대충 어떤 코드겠거니, 머릿속에 그리고 분석을 시작합니다. 때로는 클래스 이름만 보고도 짐작이 가능할 때도 있죵..
12/03/31 02:42
저도 전체적인 것을 먼저 보지는 않고 부분부분 필요한 부분부터 찾아나가면서 전체를 조금씩 이해해나가는 방식으로 해요.
이건 Bottom-up 접근방식이라고 봐야겠네요. 문서화가 되어있지 않으면 한번에 이해하는게 어려우니까 그렇게 하는거고, 문서화가 잘되어있다면 탑다운으로도 접근 가능하지만 무언가 일처리하는 프로세스를 내기엔 이게 시간이 더 오래 걸리죠. 남이 짜놓은 소스 분석할때 그래도 안드로이드의 경우는 MVC가 명확하게 나눠져 있기 때문에 (그렇게 안짜는 사람들도 많이 있지만 그래도 어느정도 그렇게 짤수 밖에 없으니까..) 분석하는게 그렇게 어렵지는 않은거 같아요. 그리고 원래는 주석을 잘다는 개발자가 많이 고마웠는데, 이제는 주석없이도 소스를 읽을 수 있는 개발자가 고맙게 느껴지더라고요. 주석도 너무 많으면 소스 읽는데 방해되서 간결하고 핵심적인 부분만 있는걸 좋아하게 되었어요. 제가 그렇게 선호하다보니 점점 변수명, 함수명, 클래스명의 기능을 다 설명할 수 있는 긴~ 이름을 선호하게 되고, 루프도 i, j는 안쓰게 되더라고요. 그래서 이제는 이클립스 등 자동완성 해주는 IDE가 없으면 죽을맛입니다 흐흐
|