1. 개요
개발 시 동일한 코드 모형을 지향함으로써 가독성 및 협업 효율 증대를 위함
2. 참고 사이트
android code style
http://source.android.com/source/code-style.html
javadoc convention
3. 참고 파일
android-formatting.xml
- Open Eclipse and go to Window -> Preferences -> Java -> Code Style -> Formatter
- Import the android-formatting.xml file and make sure “Android” is selected in the drop down list
android.importorder
- Window -> Preferences -> Java -> Code Style -> Organize Imports
- Import the android.importorder file and make sure “Android” is in the list
Android_Coding_Convention.pptx
- java code convension 한장 요약
- java code convension
4. 내용
JAVA LANGUAGE RULES
Exceptions: 예외 무시하지말고 처리하기.
Exceptions: 상위 Exception으로 싸잡아서 처리하지 않기.
Finalizers: 왠만하면 쓰지않기 (언제 적용될지 모름)
Imports: *쓰지말고 정확하게 풀네임 적기.
Java Library Rules
Java Style Rules
- Comments/Javadoc:
표준대로 작성하기. - Short methods:
메소드는 40줄이 넘지않게 작성
넘을 시 기능 분할 - Fields:
초기에 선언하기나 사용하기 바로 전에 선언할 것. - Local variables:
지역변수 범위는 최소화하기.
The scope of local variables should be kept to a minimum (Effective Java Item 29) - Imports:
안드로이드, 서드파티(알파벳 순), java, javax 순으로 import하기. - Indentation:
탭 사용은 공백 4칸
그 외는 8칸
권장
Instrument i =
||||||||someLongExpression(that,, wouldNotFit, on, one, line);비 권장
Instrument i =
||||someLongExpression(that,, wouldNotFit, on, one, line); - Line length:
한줄에 100칸 이하 유지하기. Field names:
Non-public, non-static 변수는 m으로 시작하고, static변수는 s로 시작하기.Braces:
if () {
// content
} (O)
if () content (O)
if ()
{
//content
} (X)Annotations:
@Deprecated @Override @SuppressWarnings 표준 어노테이션 사용하기.
Acronyms are words:
good Bad XmlHttpRequest XMLHTTPRequest getCustomerId getCustomerID class Html class HTML String url String URL long id long ID 상수 public static final int STATIC_CONSTANT 지역 mValue 전역 sValue - TODO style:
"TODO: write this description" - Consistency:
일관적으로 작성하기
Log
- Logging:
로그도 비용이 드니 적절하기 사용하기 - Levels• ERROR: 치명적인 상황이 발생했을 경우• WARNING: 심각하고 예상치 못한 상황이 발생한 경우• INFOMATIVE: 대부분의 사람들이 관심 가질 만한 상황• DEBUG: 디바이스에서 예상치 못한 동작 조사와 디버깅 관련• VERBOSE: 위 4개의 상황 외에서 사
Code Convension (JAVA)
공백은 ||| 로 대체 표현
if 문
if|||(condition)|||{
//content
}|||else if|||(condition)|||{
//content
}|||else|||{
//content
}
for 문
for|||(init;|||condition;|||update)|||{
//content
}
while 문
while|||(condition)|||{
//content
}
switch 문
switch|||(condition)|||{
case a:
default:
}
Formatter / import order
공백 운용, {} 의 위치 등을 잡아줌
5. 생각해 볼 것들
- 변수 / 함수 / 클래스 이름 규칙
- intent extra key 상수 사용
'프로그래밍 > Android 짜투리 지식' 카테고리의 다른 글
[android] attr/actionbarSize (0) | 2015.03.24 |
---|---|
[android] 4.4 webview 파일 첨부 (0) | 2015.03.12 |
[android] Lollipop (v5.x) service 오류 (0) | 2015.02.11 |
[android] sqlite 사용하기 (2) | 2015.02.11 |
[android] google analytics froyo 문제 (0) | 2015.02.10 |