이 글은 유튜브 베어코드님의 영상을 보고 학습하며 정리한 글입니다. (링크) 해당 영상을 보고 느낀 결론은 OOP를 잘하기 위해서는 단순히 클래스를 사용하거나 디자인 패턴을 외우는 것이 아니라, 추상화와 SOLID 원칙을 이해하고 이를 코드에 적용하는 것이 중요! OOP의 진정한 핵심은 무엇인가?단순히 클래스를 만들어 사용하면 OOP일까?단순히 클래스를 사용한다고 해서 그것이 OOP가 되는 것은 아닙니다. OOP는 코드의 재사용성, 유지보수성, 유연성을 확보하기 위한 철학과 개념을 기반으로 하는 프로그래밍 패러다임입니다.OOP에서 가장 중요한 개념은?OOP에서 이야기하는 다양한 개념 중 가장 중요한 것은 추상화(Abstraction)입니다. 추상화는 객체의 본질적인 속성만 남기고, 불필요한 세부 사항..
이 글은 유튜브 베어코드님의 영상을 보고 학습하며 정리한 글입니다. (링크) 프로그래밍을 할 때, 개발자는 끊임없이 결정을 내려야 합니다.코드를 작성하는 모든 순간마다 어떻게 설계하고 구현할지 고민해야 하는데, 이러한 과정에서 판단 기준이 없다면 코드가 혼란스럽고 일관성이 떨어질 수 있습니다. 판단 기준이 필요한 이유코드를 작성하면서 개발는 다양한 결정을 내립니다. 어떤 방법이 더 효율적인지, 결합도를 낮추고 응집도를 높이는 방법이 무엇인지, 더 나은 구조는 무엇인지 등 매 순간 판단을 해야 합니다. 하지만 이런 판단에 너무 많은 시간을 쓸 수는 없습니다.예를 들어, 결합도를 낮추고 응집도를 높였다고 해도 코드가 더 복잡해지고 이상해지는 경우가 있습니다. 이런 상황에서 무엇이 잘못되었는지 빠르게 판단..

이 글은 유튜브 베어코드님의 영상을 보고 학습하며 정리한 글입니다. (링크) 코드의 품질은 유지보수성과 확장성에 큰 영향을 미칩니다.이 품질을 결정하는 중요한 두 가지 요소가 바로 결합도(Coupling)와 응집도(Cohesion)입니다. 결합도(Coupling)결합도는 클래스나 모듈 간의 상호 의존성을 나타내는 지표입니다. 결합도가 높을수록 클래스나 모듈이 서로 강하게 연결되어 있어, 한 쪽의 변화가 다른 쪽에 영향을 미치게 됩니다. 이런 상황이 심해지면 코드가 복잡해지고 유지보수가 어려워지며, 우리는 이를 흔히 "스파게티 코드"라고 부릅니다.결합도는 코드의 구조를 단순하게 유지하고, 각 구성 요소가 독립적으로 동작할 수 있도록 하는 데 중요한 역할을 합니다. 결합도를 낮추기 위한 방법으로는 인터페이스..

이 글은 유튜브 베어코드님의 영상을 보고 학습하며 정리한 글입니다. (링크) 스파게티 코드?스파게티 코드는 복잡하고 엉킨 구조로 인해 읽기 어렵고 유지보수가 힘든 코드를 의미합니다. 이는 주로 프로젝트가 확장되거나 여러 명의 개발자가 협업하는 과정에서 발생하기 쉬운데, 이러한 코드가 쌓이면 생산성이 급격히 저하되고, 버그가 잦아지며 코드의 재사용이 거의 불가능해집니다. 스파게티 코드의 주요 특징스파게티 코드는 다음과 같은 특징을 가집니다:유지보수의 어려움: 코드의 구조가 복잡해지면 유지보수가 힘들어지고, 수정이 반복될수록 코드의 가독성이 떨어집니다.재사용의 불가능: 특정 기능을 분리하여 재사용하기 어려워집니다.버그의 온상: 코드가 복잡해질수록 버그 발생 가능성이 높아집니다.생산성 저하: 스파게티 코드가 ..
- Total
- Today
- Yesterday
- ReactNative
- 리팩터링
- 클린 아키텍처
- UIGraphicsBeginPDFContextToData
- 이펙티브 엔지니어
- pdfkit
- Swift
- SWIFT 자바스크립트연동
- NSMutableAttributedString
- llvm
- SWIFT JQuery
- 알고리즘
- OOP
- wkwebview
- ios
- 스위즐링
- 객체지향의 사실과 오해
- SWIFT JavaScript
- UIGraphics
- swiftpdf
- 에드먼드 라우
- NSNotFound
- SWIFT WebView
- Flutter
- dfs
- mutableString
- 로버트C마틴
- UIGraphicsBeginPDFPageWithInfo
- riverpod
- 플로팅팝업