Skip to content

[PaeParo-Mobile] xml 및 kotlin 작성규칙 #4

@ByteAurora

Description

@ByteAurora

XML 작성 규칙

  • UI 요소 ID
  1. 모든 xml 내 ID는 소문자로 표기

  1. ID의 첫 단어는 해당 UI 요소의 종류를 줄여서 표기, 그 다음 단어는 해당 UI 가 표현된 화면 이름 표기
  • ex) ImageView in LoginActivity: iv_login, TextView in MainActivity: tv_main, EditText in RegisterActivity: edt_register

  1. ID를 구성하는 각 단어는 단어 사이를 '_'(언더스코어)를 넣어서 구분
  • ex) btn_login_login, edt_register_user_email

  • Margin, Padding, Constraint 등 Left, Right 요소가 포함된 UI
  1. Left의 경우 Start로 대체
  • ex) marginLeft (X) marginStart(O)

  1. Right의 경우 End로 대체
  • ex) paddingRight (X) paddingEnd(O)

  • 공통
  1. UI 및 UI에 대한 속성들이 추가되고 나서는 항상 'CTRL + ALT + L'을 눌러서 코드 리팩토링

  1. 되도록이면 ConstraintLayout을 사용
  • UI 요소들을 배치할 때 위치를 유동적으로 조절하기 쉬움

Kotlin 작성 규칙

아래 작성된 것 외에는 기본적으로 Camel-Case 적용

  • UI와 관련된 변수
  1. Activity에서 xml에 있는 UI와 대응되는 변수는 해당 UI의 xml ID와 동일한 단어로 구성
  • Camel-Case 적용
  • ex) btn_login_login(xml) -> btnLoginLogin(Kotlin)

  • 함수, 변수, 클래스를 만들었을 때, 해당 요소가 어떤 역할을 하는지 kdoc 형식으로 작성
  • 편리한 작성을 위해 File -> Settings -> Plugins -> Marketplace -> KDoc-er 플러그인 설치
  • 설명을 작성할 요소의 위쪽에서 / + * + * + Enter 를 누르면 기본 틀이 작성됨
  • ex) 아래 참고
/**
 * 현재 로그인된 사용자를 가져오는 함수
 *
 * @return 로그인된 사용자가 존재할 경우 FirebaseUser 객체 반환, 아닐 경우 null 반환
 */
fun getCurrentUser(): User? {
    return requestResult.getUser()
}

  • 분기문 마다 어떠한 것으로 인한 분기인지 주석 표시
  • ex) 아래 참고
if (user == null) { // 현재 사용자가 존재하지 않는 사용자일 경우    
    println("User not exist!")
} else { // 현재 사용자가 존재하는 사용자일 경우
    println("User exist")
}

Metadata

Metadata

Assignees

Labels

documentation문서나 설명 추가에 대한 이슈good first issue새로운 참여한 사람들이 참고하면 좋은 이슈

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions