728x90
- 프로그래밍은 쓰기보다 읽기가 중요하다는 의미
- 항상 가독성을 생각하면서 코드를 작성하자
- 가독성 이란 코드를 읽고 얼마나 빠르게 이해할 숙 있는지를 의미
- 인식 부하 감소
- 가독성은 사람에 따라 다르게 느낄 수 있지만, 일반적으로 많은 사람의 경험화 인식에 대한 과학으로 만들어진 어느정도의 규칙이 있다
- 우리의 뇌가 얼마나 많은 관용구(구조, 함수, 패턴)에 익숙해져 있는지에 따라 다르다.
- 익숙하지 않은 구조를 사용하면, 잘못된 동작을 코드를 보면서 확인하기 어렵다
- 기본적으로 '인지 부하'를 줄이는 방향으로 코드를 작성하자.
class Item11Class(
var name: String? = null,
) {
var innerClass: Item11Class? = null
fun printName() {
if (innerClass != null) {
println(innerClass?.name)
}
innerClass?.let {
println(it.name)
}
}
}
@Test
fun `p74_1`() {
var item11 = Item11Class()
item11.printName()
item11.innerClass = Item11Class("injin")
item11.printName()
}
- 극단적이 되지 않기
- :: 멤버 참조(Member reference), 함수 참조(Function Reference) 같은경우 경험이 적은 코틀린 개발자는 이해하기 어려워 비용이 발생하지만 지불할 만한 가치기 있으므로 사용해도 괜찮다
- 문제가 되는건 지불할 만한 가치가 없는 코드에 비용을 지불하는 경우(정당한 이유 없이 복잡성을 추가할 때) 입니다.
- 어떤것이 비용을 지불할 만한 코드인지 아닌지는 항상 논라이 있을 수 있으므로, 균형을 맞추는 것이 중요하다.
생각:
extract method 를 좋아해서 많은 코드들을 처리했지만, 가독성을 좀 더 생각해서 재활용할 수 없고 코드 길이가 적절하다면 적당한 균형이 필요하다고 생각했고 다른 코드들을 보면서 기술 및 가독성을 좀 더 습득해야 겠다고 생각 함.
ex) if 가 많을경우 처리하는 방식 등등
728x90
'공부 > 이펙티브코틀린' 카테고리의 다른 글
아이템 13 - Unit? 을 리턴하지 말라 (0) | 2024.04.07 |
---|---|
아이템 12 - 연산자 오버로드를 할 때는 의미에 맞게 사용하라 (0) | 2024.04.07 |
아이템 10 - 단위 테스트를 만들어라 (0) | 2024.04.07 |
아이템 9 - use 를 사용하여 리소스를 닫아라 (1) | 2024.04.07 |
아이템 8 - 적절하게 null 을 처리하라 (0) | 2024.04.04 |
댓글