-
Notifications
You must be signed in to change notification settings - Fork 1
Android Coding Convention
mdb1217 edited this page May 21, 2022
·
1 revision
기본적으로 공식문서인 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>
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