Skip to content

⌨️ 코딩 컨벤션

Hyunji99Choi edited this page Nov 10, 2022 · 16 revisions

🎨 안드로이드 리소스 컨벤션

Untitled

레이아웃 파일 이름

  • activity_<화면 이름>.xml
  • fragment_<화면 이름>.xml
  • include_<기능 이름>
  • item_<기능 이름>

컴포넌트 ID 이름

  • 합성단어의 경우, 맨 앞자리만 따서 접두사로 사용
    • TextView → tv_
    • ImageView → iv_
  • 하나의 경우, 아래와 같이 사용
    • Button → btn_
    • View → view_프래그먼트이름_설명
  • 기능은 큰 분류부터 나열

String 리소스 이름

  • <사용위치>_<설명>
    • 사용 위치의 경우, 여러곳에서 쓰면 <사용위치> 생략하기

Drawable 리소스 이름

  • <종류><사용위치><설명>
    • 사용 위치의 경우, 여러곳에서 쓰면 <사용위치> 생략하기
    • 종류 : ic, img

Dimens 이름

  • <내용><위치><설명>_<크기>

🖥 안드로이드 코틀린 컨벤션

기본적으로 ktlint

클래스 내부 배치

  1. 프로퍼티 선언, init 블록
  2. 부생성자
  3. 메서드 선언
  4. companion object
  • 연관된 블록 이어서 배치
    • 코드를 위에서 아래로 읽을 때의 로직을 따름
  • nested 클래스 : 사용되는 블록 바로 다음에 선언
    • 파일 외에서 사용 시 companion object 다음에 배치

이름 네이밍 규칙

  • 일반적인 변수 : camelCase
  • 파일, 클래스 : PascalCase
  • 상수: UPPER_SNAKE_CASE
  • 패키지 : 소문자
    • 연속 단어는 밑줄 없이 연결

      // Okay
      package com.example.deepspace
      // WRONG!
      package com.example.deepSpace
      // WRONG!
      package com.example.deep_space
      

기타 컨벤션

  • 사용 위치가 한정적인 확장 함수의 경우 사용 위치와 같은 파일에 선언
    • BindinAdapter나 Mapper와 같이 사용성 명확하지 않은 경우 Extensions.kt에 선언
  • 람다의 디폴트 파라미터명을 명시적으로 지정
  • 중첩으로 람다 표현식을 사용할 경우 줄바꿈 처리
Clone this wiki locally