2021. 11. 1. 17:55ㆍDiary/300~400
집에 도착해서 밥먹고오니..
시간이 벌써 오후 9시다.
얼른 하고 자야한다.
현재...
Unrecognized Android Studio (or Android Support plugin for IntelliJ IDEA) version '202.7660.26.42.7486908', please retry with version 2020.3.1 or newer.
이러한 에러가 발생해서
안드로이드 스튜디오 업데이트 중이다..!
< 가독성과 안전한 코드를 위한 팁 >
1. 선언과 수행을 동시에 하자.
2. 정적 변수들은 따로 빼서 관리하자.
3. also, run, with, let, apply를 각각의 사용처에 맞게 사용하자.
4. Json 데이터는 Gson으로 제어하자.
5. 불변적인 것을 먼저 개발하자.
< run, let, apply, also, with >
각 스코프함수의 차이점은 람다 지원 여부와 리턴값이다.
[ run, let ]
마지막 데이터를 리턴한다.
[ apply, also ]
사용한 객체를 리턴한다.
[ run, apply ]
람다 지원이 안된다.
[ let, also ]
람다 지원이 가능하다.
[ with ]
값이 무조건 존재할 때, 사용한다.
람다 X 리턴값 X
< 각 스코프함수의 사용처>
[ apply ]
*1. Apply에서는 오로지 프로퍼티만 쓴다.
2. 수신 객체 람다 내부에서 수신 객체의 함수를 사용하지 않고, 수신 객체 자신을 다시 반환 하려는 경우에 apply를 사용한다.
3. 수신 객체 의 프로퍼티 만을 사용하는 대표적인 경우가 객체의 초기화 이며, 이곳에 apply 를 사용한다.
[ also ]
*1. 유효성 검사할 때, 사용하자.
2. 수신 객체 람다가 전달된 수신 객체를 전혀 사용 하지 않거나, 수신 객체의 속성을 변경하지 않고 사용하는 경우, also 를 사용한다.
3. also 는 apply 와 마찬가지로 수신 객체를 반환 하므로, 블록 함수가 다른 값을 반환 해야하는 경우에는 also를 사용할 수 없다.
4. 예를 들자면, 객체의 사이드 이팩트를 확인하거나
수신 객체의 프로퍼티에 데이터를 할당하기 전에 해당 데이터의 유효성을 검사 할 때 매우 유용하다.
[ let ]
*1. 지정된 값이 null 이 아닌 경우에 코드를 실행해야 하는 경우.
2. Nullable 객체를 다른 Nullable 객체로 변환하는 경우.
3. 단일 지역 변수의 범위를 제한 하는 경우.
[ with ]
*1. Non-nullable (Null 이 될수 없는) 수신 객체 이고 결과가 필요하지 않은 경우에만 with 를 사용한다.
[ run ]
1. 어떤 값을 계산할 필요가 있거나 여러개의 지역 변수의 범위를 제한하려면 run을 사용한다.
2. 매개 변수로 전달된 명시적 수신객체를
암시적 수신 객체로 변환 할때 run을 사용할수 있다.
< Room을 활용한 앱 개발 >
맨 위의 팁에 맞춰서
유저 생성, 조회, 수정, 삭제, 검색 기능을
개발해보려고한다.
[ 개발 순서 ]
1. 데이터 구조체 작성
2. XML 작성
3. DAO 구문 작성
4. 컨트롤러 작성
현재 퇴근중이라 집가서 해볼예정이다.
현재 시간 0시 33분...
집에서 계속 개발하고 있었는데
아직 끝나지는 않았다.
블로그에 코드 리뷰하면서 적기에는
시간이 부족한 상태여서
이번에 개발하는 연습 앱을 완성하면
코드리뷰하면서
글을 올릴 예정이다.
'Diary > 300~400' 카테고리의 다른 글
309일차 - 완전성 & 목적성 & 독립성, Fragment New Instance, MVVM, LiveData, 옵저버, 스코프 함수, 싱글톤, XML 호환성 등 (0) | 2021.11.03 |
---|---|
308일차 - 현재 상황 및 공부 예정 목록 (0) | 2021.11.02 |
306일차 - 간단한 조사(AI, DL 설명 및 사용 기술) (0) | 2021.10.31 |
305일차 - Stack, Heap, Malloc, Free (0) | 2021.10.30 |
304일차 - Kotlin Room을 활용한 간단한 게시판 만들기 (1) | 2021.10.29 |