뭔가 잘못될 가능성은 늘 존재한다. 뭔가 잘못되면 바로 잡을 책임은 우리 프로그래머에게 있다. 깨끗한 코드와 오류 처리는 확실히 연관성이 있다. 상당수 코드 기반은 전적으로 오류 처리 코드에 좌우된다. 여기저기 흩어진 코드 때문에 실제 코드가 하는 일을 파악하기가 어려워지게 된다. 오류 처리는 중요하다. 하지만 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. 이 장에서는 우아하고 고상하게 오류를 처리하는 기법과 고려 사항 몇 가지를 소개한다. 오류 코드보다 예외를 사용하라 예전에는 예외를 지원하지 않는 프로그래밍 언어가 많았다. 그렇기 때문에 오류 플래그를 설정하거나, 오류 코드를 반환하는 방법이 전부였다. 예외를 사용하는 대신 오류 코드를 사용하면 코드가 훨씬..
산술 연산자 main() { int a = 2; int b = 4; print(a + b); print(a - b); print(a * b); print(a / b); print(a % b); // 나머지 연산자 print(a++); // a값을 반환하고 a증가 print(++a); // a증가시키고 증가된 값 반환 print(b--); print(--b); } 대입 연산자 main() { double a = 2.0; double b = 4.0; print(a = b); print(a += b); // a = a + b print(a -= b); print(a *= b); print(a /= b); print(a %= b); } 비교 연산자 main() { double a = 2.0; double b =..
List 배열 형태로 값을 저장하기 위한 Class, Generic으로 구현되어 다양한 타입을 저장할 수 있습니다. abstract class List implements EfficientLengthIterable { main() { var list1 = [1, 2, 3, 4, 5]; var list2 = List.generate(5, (index) => 0); } Nullable Null값을 저장하기 위한 방법입니다. 변수를 선언할 때 타입 옆에 `?`를 붙이면 됩니다. main() { int? nullInt = null; String? nullString = null; } 정적 변수(final, const) 변수에 값을 저장하고 변경하고 싶지 않을 때가 있습니다. 이럴 때 final, const 키워..
- Total
- Today
- Yesterday
- Coroutine
- isActive
- 클린 코드
- ViewModelStoreOwner
- clean code
- 코루틴
- ConcatAdapter
- rxjava
- Kotlin
- Widget
- git
- DART
- 연산자
- 클린코드
- null
- Flutter
- Exception
- CancellationException
- 함수
- TDD
- gradle
- 보이스카우트 규칙
- observable
- Android
- DSL
- ConcatAdapter.Config
- Flowable
- ViewModelProvider
- viewmodel
- commit
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
