Skip to content

Latest commit

 

History

History
214 lines (138 loc) · 4.92 KB

Android Coding Convention.md

File metadata and controls

214 lines (138 loc) · 4.92 KB

Android Coding Convention

WrittenBy RevisedBy

목차


1. 기본

기본적으로 공식문서인 Kotlin Coding ConventionsKotlin style guide를 준수한다.

1.1. 안드로이드 스튜디오

안드로이드 스튜디오의 Optimize imports 기능과 Reformat Code 기능을 이용한다.

  • Optimize imports (Ctrl+Alt+O) : 사용하지 않는 Class를 import하고 있는 경우 제거해준다.
  • Reformat Code (Ctrl+Alt+L) : 코드의 Kotlin Style Guide를 적용하여 Code를 Reformat한다.

2. Resource Naming Convention

2.1. ID

View 이름의 Pascal Case를 축약하여 Snake Case로 변환한 것을 Prefix로 사용한다.

2.1.1. Prefix

<WHAT>_<DESCRIPTION>

View Prefix
TextView tv_
ImageView iv_
EditText et
Button, ImageButton btn_
Toolbar tb_
ConstraintLayout cl_
LinearLayout ll_
BottomNavigationView bnv_
.. ..

2.1.2. 예시

@+id/tv_login
@+id/et_password
@+id/btn_login

2.2. Layout

Layout의 xml 파일의 이름은 .kt .java의 Pascal Case를 Snake Case로 변환하여 사용한다.

2.2.1. Prefix

<WHAT>_<WHERE>

View Prefix
Activity activity_
Fragment fragment_
Dialog dialog_
CustomView view_
Item item_

2.2.2. 예시

SignInActivity.kt -> activity_sign_in.xml
SignUpFragment.kt -> fragment_sign_up.xml
CustomCalendarView.kt -> view_custom_calendar.xml
item_user.xml

2.3. Drawable

2.3.1. Prefix

<WHAT_DESCRIPTION>

Drawable Prefix
Icon ic_
Image img_
Background bg_
Shape <shape>_<color>_<radius>_<value>

2.3.2. 예시

ic_error.xml
img_default_user.xml
bg_main.xml
rectangle_yellow_radius_20.xml

2.4. Menu

2.4.1. Prefix

menu_


2.5. Color

Color의 이름은 Camel Case를 이용해 작성하되, 사이트를 참고해 Color를 직관적으로 연상할 수 있는 이름을 사용한다.

2.5.1. 예시

<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="cornflowerBlue">#6195ED</color>

2.6. String

String 작성 시 주석을 통해 String이 사용되는 곳을 명시한다.

2.6.1. Prefix

<WHERE/WHAT>_<DESCRIPTION>

2.6.2. 예시

<!--Main Menu-->
<string name="menu_daily">하루의 기록</string>
<string name="menu_remind">평가 및 회고</string>
<string name="menu_my">My</string>

<!--Toolbar Title-->
<string name="title_search">검색</string>
<string name="title_settings">환경설정</string>

<!--Dialog Message-->
<string name="msg_login">로그인하시겠습니까?</string>
<string name="msg_login_failed">로그인에 실패했습니다.</string>
<string name="msg_password_error">비밀번호가 올바르지 않습니다.</string>

2.7. Style

View의 Pascal Case와 Style에 대한 설명을 조합하여 Style 명을 지정한다.

2.7.1. Prefix

<WHAT><Description>Style

2.7.2. 예시

<style name="LoginEditTextStyle"/>
<style name="MainDialogStyle"/>



Copyright 2020. Seulgi Kim All rights reserved.