-
Notifications
You must be signed in to change notification settings - Fork 1
2. Android Coding Convention
기본적으로 공식문서인 Kotlin Coding Conventions과 Kotlin style guide를 준수한다.
안드로이드 스튜디오의 Optimize imports
기능과 Reformat Code
기능을 이용한다.
-
Optimize imports
(Ctrl+Alt+O)
: 사용하지 않는 Class를 import하고 있는 경우 제거해준다. -
Reformat Code
(Ctrl+Alt+L)
: 코드의 Kotlin Style Guide를 적용하여 Code를 Reformat한다.
View 이름의 Pascal Case를 축약하여 Snake Case로 변환한 것을 Prefix로 사용한다.
<WHAT>_<DESCRIPTION>
View | Prefix |
---|---|
TextView | tv_ |
ImageView | iv_ |
EditText | et |
Button, ImageButton | btn_ |
Toolbar | tb_ |
ConstraintLayout | cl_ |
LinearLayout | ll_ |
BottomNavigationView | bnv_ |
.. | .. |
@+id/tv_login
@+id/et_password
@+id/btn_login
Layout의 xml 파일의 이름은 .kt .java의 Pascal Case를 Snake Case로 변환하여 사용한다.
<WHAT>_<WHERE>
View | Prefix |
---|---|
Activity | activity_ |
Fragment | fragment_ |
Dialog | dialog_ |
CustomView | view_ |
Item | item_ |
SignInActivity.kt -> activity_sign_in.xml
SignUpFragment.kt -> fragment_sign_up.xml
CustomCalendarView.kt -> view_custom_calendar.xml
item_user.xml
<WHAT_DESCRIPTION>
Drawable | Prefix |
---|---|
Icon | ic_ |
Image | img_ |
Background | bg_ |
Shape | <shape>_<color>_<radius>_<value> |
ic_error.xml
img_default_user.xml
bg_main.xml
rectangle_yellow_radius_20.xml
menu_
Color의 이름은 Camel Case를 이용해 작성하되, 사이트를 참고해 Color를 직관적으로 연상할 수 있는 이름을 사용한다.
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="cornflowerBlue">#6195ED</color>
String 작성 시 주석을 통해 String이 사용되는 곳을 명시한다.
<WHERE/WHAT>_<DESCRIPTION>
<!--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>
View의 Pascal Case와 Style에 대한 설명을 조합하여 Style 명을 지정한다.
<WHAT><Description>Style
<style name="LoginEditTextStyle"/>
<style name="MainDialogStyle"/>
클래스 파일 이름은 UpperCamelCase(파스칼 케이스(PascalCase))로 작성한다.
<DESCRIPTION><WHAT>
Prefix는 해당 클래스와 관련성이 높은 것으로 임의로 작성한다.
MainActivity
UserViewModel
WriteFragment
메소드 이름은 lowerCamelCase로 작성한다.
"동사"로 시작하는 "동사구" 형태를 사용하되, 동사 원형만을 사용한다.
자주 사용하는 동사는 용법에 맞게 사용한다.
Word | Description |
---|---|
show | Invisible한 것을 Visible하게 바꾸는 동작 |
check | 어떤 것을 확인한 후 boolean 또는 값으로 반환하는 동작 |
is | 어떤 것인지 확인한 후 boolean으로 반환하는 동작 |
has | 어떤것을가지고 있는 확인 후 boolean으로 반환하는 동작 |
showList
updateContacts
변수 이름 또한 마찬가지로 lowerCamelCase로 작성한다.
isEnd
viewPagerAdapter