전체 글

books/clean code

2. 의미있는 이름

의도를 분명하게 밝혀라 - 이름을 대강 지어두고 주석으로 설명하는 것보다는 어떤 의도를 가지고 변수를 선언했는지가 이름에 드러나도록 - 코드의 "함축성": 코드의 맥락이 보이도록 (읽는 사람에게 정보 전달) 그릇된 정보를 피하라 - 정확한 정보 전달이 가능한 이름 선언 - 흡사한 이름 사용하지 않기 (ex. XYXControllerForEfficientHandlingOfStrings, XYZControllerForEfficientStorageOfStrings) 의미 있게 구분하라 - a1, a2, a3 같은 이름 말고 의도가 드러나는 이름을 사용 - 불용어 줄이기 (ex. NameString > Name, CustomerObject > Customer) 발음하기 쉬운 이름을 사용하라 검색하기 쉬운 이름을..

books/clean code

1. 깨끗한 코드

코드를 최대한 깨끗하게 유지하는 습관 들이기 읽기 쉬운 코드 짜기 - 코드가 복잡해지면 유지보수에 필요한 시간이 늘어난다. 깨끗한 코드는 뭘까? 1. 비야네 스트롭스투룹 논리가 간단한 코드 --> 한 가지에 집중하는 코드 2. 그래디 부치 단순하고 직접적인 코드 --> 가독성이 중요 3. "큰" 데이브 토마스 다른 사람이 코치기 쉬운 코드, 테스트 코드 작성 4. 마이클 페더스 주의 깊게 짠 코드 --> 깔끔하고 단정하다 5. 론 제프리스 중복은 낮추고 표현력은 높인다, 간단한 추상화 6. 워드 커닝햄 코드를 읽는 사람의 짐작대로 수행하는 코드 '읽기 좋은 코드가 좋은 코드다'라는 책도 있을 정도로 가독성은 코드를 짜는 사람에게도, 확인하는 사람에게도 중요한 것 같다. 메서드 하나를 짜더라도 최대한 하나..

RxSwift

RxSwift - Observable, Dispose, DisposeBag

Reactive X 문서는 여기! 그리고 github의 Getting Started 페이지도 참고했습니다. 이해가 미숙해 틀린 부분이 있을 수 있습니다..ObservableObservable은 뭘까사전적 의미로 봤을 때는 '관측 가능한'이라는 뜻을 가지고 있다. 이걸 개발 쪽으로 가져오면 어떤 해석을 할 수 있을까? 어떤 값 또는 이벤트의 변화를 관찰/추적한다는 뜻으로 이해할 수 있을 것 같다. 또한 이벤트는 여러 곳에서 동시다발적으로 일어날 수 있으니 관측하고자 하는 값을 비동기적으로 체크할 수 있어야 할 것 같고. 무언가의 상태 변화를 Observer들이 계속 관측할 수 있도록 하는 것이 Observable이 아닐까? reactivex.io에서 Observable 문서 첫 문단에 이렇게 설명하고 있다..

Swift

ARC(Automatic Reference Counting) - Strong Reference Cycles for Closures

문서는 여기 ⬇️ https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html Strong Reference Cycles for Closures "strong reference cycle이 발생하는 경우를 설명해 주세요"라는 면접 질문을 받았을 때 앞에서 본 내용들은 당당하게 얘기하고 이건 까먹었다. 어떻게 보면 회사에서 일할 때 제일 많이 보는 구문인데! completion 핸들러에서 [weak self] in을 사용하는 이유를 이번 포스팅에서 알아본다. 클로저는 reference type이다. 우리가 클로저를 사용할 때 클로저 내부에서 self.someProperty에 접근하는 경우가 있다. 이 때 클로저에 별도의 표기..

Swift

ARC(Automatic Reference Counting) - 강한 순환 참조와 Weak, Unowned

문서는 여기 ⬇️ https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html 앞 포스팅에서 Strong Reference Cycle이 만들어져 메모리에서 해제되지 않고 영영 ㅁ ㅣ아가 되어버린 인스턴스가 있을 수 있다는 것을 확인했다. 그렇다면 이런 상황을 방지하려면 어떻게 해야 할까? Resolving Strong Reference Cycles Between Class Instances 애플에서는 이런 ㅁ ㅣ아들(strong reference cycle)이 생성되는 것을 방지하는 방법을 두 가지 제시한다. 1. weak references 2. unowned references weak과 unowned를 해석해 보면 ..

Swift

ARC(Automatic Reference Counting) - What is ARC?

Swift 문서를 읽어보는 시간. 이번에는 ARC와 관련된 부분을 읽어본다. 문서는 여기 ⬇️ https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html Automatic Reference Counting — The Swift Programming Language (Swift 5.7) Automatic Reference Counting Swift uses Automatic Reference Counting (ARC) to track and manage your app’s memory usage. In most cases, this means that memory management “just works” in Swift,..

eunjuicy
TIL