지켜야하는 이유
- 어떤 프로젝트를 접해도 쉽게 이해할 수 있다
- 다른 외부 개발자도 프로젝트의 코드를 쉽게 이해할 수 있다
- 다른 개발자도 코드의 작동 방식을 쉽게 추측할 수 있다
- 코드를 병합하고, 한 프로젝트의 코드 일부를 다른 코드로 이동하는 것이 쉽다
컨벤션 두가지 도구
- intellij 포매터
- ktlink
파라미터 컨벤션
코틀린에서 많은 파라미터를 갖고있는 클래스, 함수는 각각의 파라미터를 한 줄씩 작성하는 방법을 사용한다
class Person(
val id: Int =0,
val name: String ="",
val surname: String = ""
): Human(id,name)
public fun<T> Iterable<T>.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence ="...",
transform: ((T) -> CharSequence)? = null
):String{
return ""
}
위 컨벤션을 지키지 않았을 때
- 모든 클래스의 아규먼트가 클래스 이름에 따라서 다른 크기의 들여쓰기를 갖는다
- 클래스가 차지하는 공간의 너비가 너무 크다.
'Reading Record > 이펙티브 코틀린' 카테고리의 다른 글
[이펙티브 코틀린] Item20. 일반적인 알고리즘을 반복해서 구현하지 말라 (0) | 2022.05.01 |
---|---|
[이펙티브 코틀린] Item19. knowledge를 반복하여 사용하지 말라 (0) | 2022.05.01 |
[이펙티브 코틀린] Item17. 이름 있는 아규먼트를 사용하라 (0) | 2022.04.26 |
[이펙티브 코틀린] Item16. 프로퍼티는 동작이 아니라 상태를 나타내야 한다. (0) | 2022.04.26 |
[이펙티브 코틀린] Item15. 리시버를 명시적으로 참조하라 (0) | 2022.04.26 |