-
Notifications
You must be signed in to change notification settings - Fork 4
⌨️ 코딩 컨벤션
Hyunji99Choi edited this page Nov 10, 2022
·
16 revisions
- activity_<화면 이름>.xml
- fragment_<화면 이름>.xml
- include_<기능 이름>
- item_<기능 이름>
- 합성단어의 경우, 맨 앞자리만 따서 접두사로 사용
- TextView → tv_
- ImageView → iv_
- 하나의 경우, 아래와 같이 사용
- Button → btn_
- View → view_프래그먼트이름_설명
- 기능은 큰 분류부터 나열
- <사용위치>_<설명>
- 사용 위치의 경우, 여러곳에서 쓰면 <사용위치> 생략하기
- <종류><사용위치><설명>
- 사용 위치의 경우, 여러곳에서 쓰면 <사용위치> 생략하기
- 종류 : ic, img
- <내용><위치><설명>_<크기>
-
push 전 의무적으로 ktlint 검사
-
Android Studio 내부 Terminal 커맨드 실행
./gradlew ktlint
- 프로퍼티 선언, init 블록
- 부생성자
- 메서드 선언
- 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에 선언
- 람다의 디폴트 파라미터명을 명시적으로 지정
- 중첩으로 람다 표현식을 사용할 경우 줄바꿈 처리