본문 바로가기

이펙티브 코틀린3

[이펙티브 코틀린] 4장. 추상화 설계 1. 함수 내부의 추상화 레벨을 통일하라 2. 변화로부터 코드를 보호하려면 추상화를 사용하라 3. API 안정성을 확인하라 4. 외부 API를 랩(wrap)해서 사용하라 5. 요소의 가시성을 최소화하라 6. 문서로 규약을 정의하라 7. 추상화 규약을 지켜라 1. 추상화란? (153p ~ ) 추상화를 검색하면 위와 같이 뜬다. 미술에서의 추상화는 구체적인 형상을 그린 것이 아니라 대상의 특징을 뽑아 점, 선, 색 등과 같은 것으로 표현한 것을 의미한다. 즉, 불필요한 것은 그리지 않고, 최소한의 요소를 사용해 그리는 것이 추상화이다. 건축에서의 추상화도 비슷한 의미를 가진다. 집을 구체적으로 그려 설계를 하는 것이 아니라 필요한 부분만 특징을 쏙쏙 뽑아 그리는 것이 설계도이다. 프로그래밍에서의 추상화도 같.. 2022. 11. 25.
[이펙티브 코틀린] 2장. 가독성 1. 가독성을 목표로 설계하라 2. Unit?을 리턴하지 말라 3. 변수 타입이 명확하지 않은 경우 확실하게 지정하라 4. 프로퍼티는 동작이 아니라 상태를 나타내야 한다 5. 이름 있는 아규먼트를 사용하라 1. 가독성을 목표로 설계하라 (71p ~ ) 이번 목차를 요약하자면 항상 가독성을 생각하며 코드를 작성하자는 것이다. 일반적이지 않고 굉장히 창의적인 구조는 변화에 유연하게 대응하지도 못하고 디버깅 도구의 지원조차 제대로 받지 못한다. // 구현 A if (person != null && person.isAdult) { view.showPerson(person) } else { view.showError() } // 구현 B person?.takeIf { it.isAdult } ?.let(view::.. 2022. 11. 9.
[이펙티브 코틀린] 1장. 안정성 1. 책을 열며 1-1. 책을 읽게 된 계기 1-2. 지은이의 말 2. 안정성 2-1. 가변성을 제한하라 2-2. 변수의 스코프를 최소화하라 2-3. 최대한 플랫폼 타입을 사용하지 말아라 2-4. 예외를 활용해 코드에 제한을 걸어라 2-5. 결과 부족이 발생할 경우 null과 Failure를 사용하라 2-6. 적절하게 null을 처리하라 1. 책을 열며 1-1. 책을 읽게 된 계기 회사에서 안드로이드 팀원분들과 스터디를 하기로 했다. (정확히는... 막내인 나를 위해 해 주시는 것 같다!) 컴포즈 스터디를 진행하게 될 뻔 했으나 기초에 먼저 충실하자는 의미로 코틀린을 먼저 스터디하게 되었다. 스터디하기로 한 책은 바로 이펙티브 코틀린! 1달~2달 정도안에 책을 다 읽고 매번 이렇게 정리해서 포스팅을 하기.. 2022. 11. 4.