티스토리 뷰
오늘은 새로운 기능 추가보다는 기존의 코드를 리팩토링 하였다.
기존의 코드가 Java의 탈을 쓴 C 스타일로 작성되어 있어서 중복되는 부분이 너무 많고, 보기에도 좋지 않았다.
특히 MySQL에 접근하는 부분들이 그러한데, 각 테이블마다 관리하는 클래스(ArticleTable, C2DMTable, PhotoTable)를 두고 이들이 관리하도록 바꾸었다.
그리고 LIMIT와 WHERE에서의 인덱스를 적절히 활용하여, 전체 테이블을 불러와서 작업하는 것이 아니라, 최대한 작게 불러온다. 나중에 튜플 수 가 무시무시하게 늘어나는 때를 대비해서이다.
클라이언트는 Preference Activity에서 작업 중인데, 다이얼로그 새로 띄워서 뭐 하려고 하면 작업이 상당히 어렵다. 새로 Activity를 만들어서 작업하고 돌아오는 쪽으로 해야겠다.
--------------------------------------------------------------------------------
3일째 리팩토링 중이다. 지금까지 작성해온 코드들이 일관성이 없어서 이를 통일하는 작업이 시간이 꽤 오래 걸리고 있다.
Activity에서 사용하는 Widget 변수들은 static 클래스 Widget를 생성해서 static멤버변수로 넣는다.
그리고 findviewById로 widget을 가져오는 initWidgets()와 이벤트 리스너를 정의하는registerEventListener()함수를 두었다.
클래스 파일들은 비슷한 분류들로 폴더를 생성해서 관리한다.
그리고 앞으로 PC에서 코딩 하는 것은 어려우므로 SVN서버를 로컬에서 구글 코드로 이전하였다.
재미로 보는 현재 프로젝트 규모:
코드 라인 수
클라이언트: 7000여 줄(Facebook SDK 제외)
서버: 1000여 줄
클래스 수
클라이언트
액티비티: 13개
어뎁터: 4개
MySQL Table관리:4개
지도 관련 클래스: 3개
일반 클래스: 7개
기타 및 미분류 : 6개
서버
클래스: 7개
생각보다 프로젝트가 너무 커진 것 같기도 하다. 대략 만줄 근처까지 도달하면 될 것 같기도 하다.
'학교 > 졸업작품' 카테고리의 다른 글
SQL 조작 클래스의 템플릿화 (0) | 2011.09.03 |
---|---|
7,8월 중간 보고서 (0) | 2011.09.01 |
다른 액티비티로 메시지 전송 (2) (0) | 2011.08.23 |
서버 클라이언트 통신시 데이터 전달 및 기타... (0) | 2011.08.22 |
ListView 및 Gallery의 사용 (0) | 2011.08.22 |
- Total
- Today
- Yesterday
- 잠금화면
- STOP_APP_SWITCH
- Leap Year
- 아일랜드
- 일상·생각
- 5 sec rule
- IT·컴퓨터
- GutsyGibbon
- 안드로이드
- U123
- 락스크린
- apktool
- lockscreen
- Gutsy
- Ubuntu7.10
- ubuntu
- 하이픈
- dex2jar
- 더블린
- 2월 29일
- Android
- 요리·레시피
- 레터스 투 줄리엣
- 전화번호
- 문학·책
- setfsb
- NEXUS S
- 5초 룰
- 프로포즈 데이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |