☑️ 코드 컨벤션

<aside> 💡 비슷한 성격의 변수일 때, 숫자로 구분 금지
ex) val button1, val button2, val button3, val a, val b, val c

</aside>

<aside> 💡 함수명, 변수명은 카멜케이스로 작성합니다. ex) val clickItem, fun getAllList()

</aside>

<aside> 💡 클래스(파일) 명은 파스칼케이스로 작성합니다. ex) class MyPageActivity, interface ApiService

</aside>

<aside> 💡 가독성을 위해 한 줄에 하나의 문장만 작성합니다. (코드 작성 후 Ctrl + Alt + L(window), Cmd +Option + L (mac) 자동 정렬 습관화)

</aside>

<aside> 💡 사용하지 않는 import 구문은 Ctrl + Alt + O (Cmd+Option+O - Mac) 를 통해 삭제합니다.

</aside>

<aside> 💡 주석은 설명하려는 구문에 맞춰 들여쓰기 합니다.

// Good

/**
*  주석의 길이가 길어질 경우 
*
*/

fun someFunction() {
  ...

  // statement에 관한 주석
  statements
}

</aside>

<aside> 💡 연산자 사이에는 공백을 추가하여 가독성을 높입니다.

a+b+c+d // bad
a + b + c + d // good

</aside>


☑️네이밍 컨벤션

<aside> 💡 Id 형식을 통일합니다. (페이지이름_역할_Widget종류)

ack / snake case  

ex) 
<TextView android:id=”@+id/login_id_edit_text”/>

</aside>

<aside> 💡 String 값, Color 값 들은 String.xml / Color.xml로 관리합니다.

- String: 역할_의미  
ex) <string id="background_navigation">123</string>
- Color: 역할_색상  
ex) <color id="background_red">#FFFF0000</color>

</aside>

<aside> 💡 Drawable 파일 작성 시

- 파일명 네이밍 형식 통일하기 (종류_페이지_역할)
	 ex ) button_login / snake case
- 아이콘의 경우 icon_login 형태로 작성

</aside>

<aside> 💡 RecyclerView Item 레이아웃 작성 시

item_의미 형식으로 작성

</aside>

☑️ 코드 컨벤션이 필요한 이유