하루플스토리
Home
  • 전체보기 (252)
    • 개발 (103)
      • Android (67)
      • IOS (1)
      • 코딩테스트 (34)
      • 딥러닝 (1)
    • 블로그 (9)
      • 공지사항 (4)
      • 이슈, 유머 (5)
    • 일상 (17)
      • 일상 (9)
      • 전자제품 (7)
      • 사진 (1)
    • 메이플 (120)
      • 메이플스토리 (120)
Home
  • 전체보기 (252)
    • 개발 (103)
      • Android (67)
      • IOS (1)
      • 코딩테스트 (34)
      • 딥러닝 (1)
    • 블로그 (9)
      • 공지사항 (4)
      • 이슈, 유머 (5)
    • 일상 (17)
      • 일상 (9)
      • 전자제품 (7)
      • 사진 (1)
    • 메이플 (120)
      • 메이플스토리 (120)
블로그 내 검색
Github

하루플스토리

안드로이드 개발자 하루플 입니다 GitHub 놀러와주세요!😊

  • 개발/Android

    이펙티브 코틀린 : 변수의 스코프를 최소화하라

    2023. 2. 18.

    by. 하루플스토리

    반응형

    변수의 스코프를 최소화하라

    • 상태를 정의할 때는 프로퍼티의 스코프를 최소화 하는 것이 좋다.
    • 스코프 { } 를 최대한 좁게 사용하는 것이 좋다. 예를 들어 반복문 내에서만 변수가 사용되면 변수를 반복문 내에 작성하는게 좋다.
    • 스코프를 좁게 만드는 이유 : 프로그램을 추적하고 관리하기 쉽기 때문
    • 스코프 범위가 너무 넓으면 다른 개발자에 의해 변수가 잘못 사용될 수도 있다.

    최대한 플랫폼 타입을 사용하지 말라

    • 코틀린에서는 null safety 메커니즘이 있지만 C, 자바와 같이 없는 언어와 연결해서 사용할 때는 이런 예외가 발생할 수 있다.
    • 코틀린은 자바 등 다른 언어에서 넘어온 nullable 여부를 알 수 없는 타입을 ‘플랫폼 타입’ 이라고 한다.
    • 자바를 코틀린과 함께 사용할 때 가능한 @Nullable 과 @NotNull 어노테이션을 붙여서 사용한다.

    inferred 타입으로 리턴하지 말라

    • 타입 추론 (type inference)는 코틀린의 특징이다.
    • 타입을 확실하게 지정해야 하는 경우에는 굉장히 중요한 정보이므로 숨기지 않는 것이 좋다.
    • 안전을 위해 외부 API를 만들 때는 반드시 타입을 지정해야한다.
    • val DEFAULT_CAR = Fialt126P() 이렇게 inferred 타입으로 리턴하면 제한이 너무 많아지거나 예측하지 못한 결과를 낼 수 있다.
    반응형
    저작자표시 비영리 동일조건 (새창열림)

    '개발 > Android' 카테고리의 다른 글

    [Kotlin] 안드로이드스튜디오 AlramManager 기능 및 사용방법  (0) 2023.02.25
    이펙티브 코틀린 : 예외를 활용해 코드에 제한을 걸어라  (0) 2023.02.19
    이펙티브 코틀린 : 1부 좋은 코드  (0) 2023.02.06
    [Android] 카카오 로그인을 구현하면서 경험한 시행착오  (0) 2023.01.29
    [Android] CollapsingToolbarLayout, ViewPager2를 함께 사용시 스크롤 이슈 해결방법  (0) 2023.01.19

    댓글

    관련글

    • [Kotlin] 안드로이드스튜디오 AlramManager 기능 및 사용방법 2023.02.25
    • 이펙티브 코틀린 : 예외를 활용해 코드에 제한을 걸어라 2023.02.19
    • 이펙티브 코틀린 : 1부 좋은 코드 2023.02.06
    • [Android] 카카오 로그인을 구현하면서 경험한 시행착오 2023.01.29
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
하루플스토리

티스토리툴바