일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- python
- 리버팟
- 플러터
- 리눅스
- Code Generation
- 유데미 러닝크루
- ListTile
- 명령어
- vscode
- 프로그래밍
- 유데미 코리아
- 개발
- freezeD
- ExpansionTile
- linux
- command
- copyWIth
- 책
- 디자인패턴
- 파이썬
- 다트
- 도서
- 유데미
- 가상환경
- flutter
- riverpod
- 코딩
- 맥
- dart
- 개발자
- Today
- Total
목록불변객체 (2)
승상의 코딩 블로그
왜 불변 객체을 써라고 하는 것일까?* 불변 객체만 쓰라는 것은 아니다. 대부분의 경우에 장점이 많기 때문이다* 대부분의 경우에서 불변 객체의 단점을 장점이 상쇄시킨다.불변 객체를 사용하면 외부에서 의도하지 않은 수정으로부터 객체를 보호할 수 있다.코드는 한 사람만이 개발하는 것이 아니다.즉, 내가 구현한 객체가 의도치 않게 외부에서 수정될 수 있다.데이터와 로직의 흐름을 파악하기 쉽다.데이터가 변경이 일어날 경우, 이를 추적하면 코드를 파악하는 것은 쉽지 않다.데이터가 불변이 아니라면, 데이터가 변경이 되지 않았음을 계속해서 파악해야한다.자신이 코드를 작성할 경우에는 로직을 정확히 파악하고 모든것을 컨트롤 할 수 있다고 생각할 수 있다.(내가 처음에 이랬다)그러나 개발하는 시스템이 복잡해지고 시간이 지..
모델 클래스를 정의하는 것은 귀찮은 일이다. Json 을 받는 코드, 객체의 특정 속성만 변경하여 새로운 객체를 반환하는 코드 등 ... 클래스가 많아질수록 자동화하지 않으면 시간이 많이 걸릴 뿐 아니라 에러가 발생할 확률이 높아진다. 다행히 플러터에는 이러한 문제를 해결하기 위한 코드 제너레이션(code generation) 패키지가 존재한다. 코드 제너레이션은 코드의 일부를 자동으로 만들어주는 기술을 의미한다. 코드 제너레이션을 통해 반복된 코드를 자동으로 생성할 수 있다. https://pub.dev/packages/freezed freezed | Dart Package Code generation for immutable classes that has a simple syntax/API witho..