소스 코드 구성
디렉토리 구조
순수 Kotlin 프로젝트에서 권장 디렉터리 구조는 공통 루트 패키지가 생략 된 패키지 구조를 따릅니다.
ex) 프로젝트의 모든 코드가 org.example.kotlin 패키지와 하위 패키지에 있는 경우
org.example.kotlin패키지가 포함 된 파일은 소스 루트 바로 아래에 배치해야 하며 파일은 소스 루트 org.example.kotlin.network.socket의 network/socket 하위 디렉토리에 있어야 합니다.
소스 파일 이름
Kotlin 파일에 단일 클래스(관련 최상위 수준 선언 포함)가 포함 된 경우 이름은 .kt확장자가 추가된 클래스 이름과 동일해야 합니다.
파일에 여러 클래스가 포함되어 있거나 최상위 선언만 포함 된 경우 포함에 포함된 내용을 설명하는 이름을 선택하고 그에 따라 파일 이름을 지정합니다.
파일 이름은 파일의 코드가 수행하는 작업을 설명해야합니다.
따라서 Util파일 이름과 같이 의미없는 단어를 사용하지 않아야 합니다.
소스 파일 구성
동일한 Kotlin 소스 파일에 여러 선언(클래스, 최상위 함수 또는 속성)을 배치하는 것이 좋습니다.
이러한 선언이 의미상 서로 밀접하게 관련되어 있고 파일 크기가 합리적으로 유지되는한(수백 줄을 넘지 않음) 권장 됩니다.
특히 이 클래스의 모든 클라이언트와 관련된 클래스에 대한 확장 함수를 정의할 때 클래스 자체와 동일한 파일에 넣으십시오.
특정 클라이언트에만 의미가 있는 확장 기능을 정의할 때 해당 클라이언트의 코드 옆에 두십시오.
클래스 레이아웃
1. 속성 언어 및 이니셜 라이저 블록
2. 보조 생성자
3. 메서드 선언
4. 동반자 개체
메서드 선언을 알파벳순이나 가시성에 따라 정렬하지 말고 일반 메서드를 확장 메서드와 분리하지 마십시오.
대신에 관련된 것들을 모아서 누군가가 위에서 아래로 수업을 읽고 무슨 일이 일어나는지 논리를 따를 수 있도록 하세요.
주문을 선택하고(높은 수준의 물건을 먼저 선택하거나 그 반대로) 고수하십시오.
해당 클래스를 사용하는 코드 옆에 중첩된 클래스를 배치합니다. 클래스가 외부에서 사용되도록 의도되고 클래스 내부에서 참조되지 않는 경우 클래스를 컴패니언 객체 뒤에 배치합니다.
인터페이스 구현 레이아웃
인터페이스를 구현할 때 구현 멤버를 인터페이스 멤버와 동일한 순서로 유지합니다(필요한 경우 구현에 사용되는 추가 개인 메서드를 산재)
과부하 레이아웃
클래스에서 항상 과부하를 서로 옆에 두십시오.
참조 :
https://kotlinlang.org/docs/coding-conventions.html#directory-structure
'코틀린 & Java' 카테고리의 다른 글
스트림 함수 (0) | 2021.08.04 |
---|---|
Kotlin 코딩규칙 서식 (0) | 2021.07.07 |
Kotlin 코딩규칙 명명 규칙 (0) | 2021.07.07 |
메모리 구조(static, stack, heap) (0) | 2021.03.29 |
Multi Thread(멀티 스레드) (0) | 2021.03.26 |