-
반응형
3장 재사용성
- 안드로이드 뷰를 만드는 작업은 굉장히 간단하다. 이는 안드로이드가 복잡한 코드를 API로 간단하게 만들어주기 때문이다.
- 누군가 이러한 것을 한번 만들어 놓으면, 필요할 때 활용할 수 있는 것. 이것이 바로 프로그래밍 언어의 핵심 특징이라고 할 수 있는 재사용성이다.
knowledge를 반복하여 사용하지 말라
- 프로젝트에서 이미 있던 코드를 복사해서 붙여넣고 있다면, 무언가가 잘못된 것이다.
- 프로그래밍에서 knowledge는 넓은 의미로 ‘의도적인 정보’를 뜻한다.
- 로직 : 프로그램이 어떠한 식으로 동작하는지와 프로그램이 어떻게 보이는지
- 공통 알고리즘 : 원하는 동작을 하기 위한 알고리즘
- knowledge반복은 프로젝틑의 확장성을 막고 쉽게 깨지게 만든다.
- 단일 책임 원칙 : 코드를 추출해도 되는지를 확인할 수 있는 원칙으로 SOLID 원칙 중 하나이다. ‘클래스를 변경하는 이유는 단 한가지여야 한다’ 라는 의미이다.
- 여러 요소에 비슷한 부분이 있는 경우, 변경이 필요할 때 실수가 발생할 수 있다. 이런 부분은 추출하는 것이 좋다.
- 추가적으로 의도하지 않은 수정을 피하려거나 다른 곳(다른 부서)에서 조작하는 부분이 있다면 분리해서 사용하는 것이 좋다.
일반적인 알고리즘을 반복해서 구현하지 말라.
- 여기서의 알고리즘은 수학적인 연산, 수집 처리처럼 별도의 모듈 혹은 라이브러리로 분리할 수 있는 부분을 의미한다.
- 이미 있는 stdlib의 확장함수를 사용하는 것이 좋다. (indexOf, subString, coerceIn, sortedBy 등)
- 이러면 코드 작성 속도가 빨라지고 가독성이 높아진다. 그리고 직접구현할 때 발생할 수 있는 실수를 줄일 수 있다.
- 표준 라이브러리인 stdlib은 확장함수를 이용해서 만들어진 굉장히 거대한 유틸리티 라이브러리이다.
- stdlib의 함수를 하나하나 살펴보는 것은 굉장히 어려울 수 있지만 가치가 있는 일이다. 만약 자세히 살펴보지 않으면 계속해서 같은 함수를 여러개 만들 게 될 것이다.
- 동일한 결과를 얻는 함수를 여러번 만드는 것은 잘못된 일이다.
- stdlib에 없는 알고리즘은 직접 프로젝트 내부에 확장함수로 정의하는 것이 좋다.
반응형'개발 > Android' 카테고리의 다른 글
[이펙티브 코틀린] 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라 (0) 2023.04.10 [Kotlin] 안드로이드스튜디오 다양한 형식의 자료형 Intent 활용 방법 (0) 2023.04.06 [Kotlin] 안드로이드스튜디오 뷰 사이즈를 조절하는 애니메이션 (0) 2023.03.14 [Kotlin] 안드로이드스튜디오 RecyclerView 스크롤시 데이터가 섞이는 문제 해결방법 (0) 2023.03.07 안드로이드스튜디오 xml 프리뷰가 표시되지 않는 문제 (0) 2023.03.06 댓글