안녕하세요.
먼저 이 글은 구체적인 소스에 대한 질문을 위한 것이 아닌,
꼬꼬마 개발자가 선배님들의 프로젝트를 대하는 방식을 알고 싶어 올리는 글입니다.
본격적으로 안드로이드 공부를 하고 있는 학생입니다.
대학에 와서 나름 다른 친구들보다는 베끼거나 하는 일 없이 제 힘으로 과제나 텀프로젝트를 해 와서
코딩을 아예 못하는 건 아니라고 생각해왔는데
본격적으로 제대로 된 프로젝트를 해 보려니 턱 막히네요...
프로그램 구성 능력, 정보값 분석하는 능력, 예외 처리하는 능력, 디버깅 능력 등등 총체적 난국이에요ㅜㅜ
4년동안 뭘 했나 싶은 자괴감까지 드는 요즈음입니다.
여튼 그래서 제가 개발자로서 문제가 많아서,
선배 프로그래머님들께서는 처음에 본인의 프로젝트를 꾸리실 때 어떠하셨는지 그리고 지금은 어떠한 노하우를 수립하셨는지
간단히라도 조언을 듣고 싶어 글을 올리게 되었습니다.
저는 지금 제스처 입력에 관한 프로그램을 개발하고 있는데요, 단순히 특정 제스처를 추출하는 것이 아니라
동서남북,북동북서남동남서 총 8방향을 입력받는 방식이에요.
단순히 이거면 방향성 있는 fling이나 scroll로 처리할 수 있는데 동->남 이렇게 중간에 방향을 꺾어서 그을 수 있어야하거든요.
전에 이에 관해 질문했을 때 dy/dx를 계산해보란 조언을 받아서 그거까지는 시도하였습니다.
유효한(?) 수치값들이 출력되는 거 같긴한데 이 값들을 전혀 다루질 못하겠네요ㅜㅜ
플래그를 자꾸 추가하고 이 변수 저 변수 다 출력시켜서 move 발생 한번한번마다 값들을 관찰했습니다.
처음으로 돌아간 마음으로 경우의 수를 모두 메모한 후 "이렇게 처리하면 될거야" 라고 생각해서
쭉 코드화했는데 제멋대로 움직여요 ㅋㅋㅋㅋㅋㅋㅋ
정리합니다.
프로그램이 제가 생각한 대로 안 움직이고 멋대로 돌아갈 때,
디버깅을 해도 이해가 안 될때
수치의 흐름이 해석이 안 될 때
어떻게 돌파구를 찾을 수 있을까요?
삽질만 하고 다음 단계로 못 나가고 있는게 거의 한달째입니다.
꼬꼬마를 위해 지나가시다 한마디만 덧붙여주시면 큰 힘이 될거 같습니다.
두서 없는 긴 글 읽어주셔서 감사합니다.




디버깅을 해도 이해가 안될때..라는 것은 자기 머릿속에 내 로직은 맞다고 생각하고 있기땜에 디버깅을 했을 경우 이해가 안되는 겁니다..내가 설계한 로직은 맞는게 아닙니다..디버깅이란게 오류 추적의 의미도 있지만 내 로직이 맞는지 검증을 하는 작업 또한 디버깅입니다..
그리고 로직을 머릿속에 넣어서 정리하려 하지 말고 종이에다가 서술하듯 써보세요..스스로 사용자가 하는 동작을 연결동작으로 하지말고 동작 하나하나 끊어서 적은뒤 그 상황에 내가 어떤 내용을 구현해야 할지..그리고 거기서 어떤 계산을 해야 할지를 적어보는 겁니다..
동->남으로 꺾는다는 것을 예로 들면
1. 사용자가 손가락으로 화면을 동쪽으로 드래그한다
2. 사용자가 드래그를 멈춘다
3. 사용자가 손가락으로 화면을 남쪽으로 드래그한다.
이렇게 세분화한뒤
거기서 내가 어떤 이벤트를 써야 하고 어떤 로직을 써야 하는지를 기술하는 겁니다..
로직으로 본대면 드래그 감지->드래그 멈춤 감지->드래그 감지..이런 식으로 하며
사용자의 움직임 파악을 하는 식이죠
저걸 언제 다해..라고 하지만..
이렇게 세분화안하면 계속 빙빙돌다가 지쳐버립니다.
큰 구조의 순서도..->큰 구조의 순서 하나에서 다시 세분화된 순서도-> .. 이렇게 잘게잘게 조각해나가며..
더이상 조각해날게 없을때 그때 구현 로직을 생각하는 겁니다..
최대한 잘게 쪼갠뒤..무엇을 해야 하는지 로직을 생각해보고..
그런 로직이 여기저기서 쓰이면 그 로직은 공통화하고..
이런식으로 하는겁니다..