[TIL] 2021-08-11

June·2021년 8월 11일
0

TIL

목록 보기
2/9

Facts

  • 인턴 과정에서 진행 중인 프로젝트 코드리뷰를 받음. 나온 키워드는

    • 자바스크립트의 클로저 개념
    • 스프링에서 예외처리하는 방법 (2~3가지)
    • NullPointerException 처리 방법들 (try-catch, Optional)
    • 테스트 케이스 작성해보기
    • MyBatis 공부해보기 (학습 비용이 드니 일정이 여유로울 때 할 것)
  • 코드숨에서 첫 주차 두 번째 코드 리뷰를 받음

    • import * 단점
    • final 사용시 장점
    • 함수 분리
    • if문 조건 간소화
    • enum에 필요시 문서 링크 추가
    • 테스트 코드 시도해 볼 것
  • 백준 - 봄버맨 품

Feelings

공부해야할 키워드들을 많이 받아서 좋으면서도, 양에 치여서 질이 떨어지지 않게 우선 순위에 따라 공부해야겠다고 느낌.

Findings

import *

'*'은 와일드카드로서 모든을 의미한다. 따라서 import java.io.* 라고 하면 java.io 패키지 이하의 모든 것을 import 한다. 이는 좋지 않은데, 예를 들어 java.awt.Eventcom.mycompany.calendar.Event를 동시에 쓴다고 생각해보자. 만약 와일드 카드를 이용해서 import하면 코드를 작성할 때 어느 Event인지 찾기 힘들뿐만 아니라, 컴파일시 에러가 발생한다.

https://stackoverflow.com/questions/147454/why-is-using-a-wild-card-with-a-java-import-statement-bad

추가
import * 방지하기

import한 클래스들이 import - *로 자동으로 변경되는 것이 싫다면 다음과 같이 설정하면 된다.

Preferences - Editor - Code Style - Java - Imports - General 에서

  • Use single class import를 체크해준다.
  • Class count to use import with '*'를 99로 변경헤준다.

출처: https://johngrib.github.io/wiki/intellij/#import--%EB%B0%A9%EC%A7%80%ED%95%98%EA%B8%B0

자바에서 final

자바에서 final은 어디에 붙냐에 따라 다양한 의미를 가진다.

  • 변수: 재할당 불가능하게 만든다.
  • 메서드: 하위 클래스에서 재정의 할 수 없다
  • 클래스: final이 붙은 클래스는 상속할 수 없다

final이 붙은 변수에 재할당하려하니 에러가 난다.

final이 참조 변수인 경우에는 여전히 재할당이 불가능하지만, 그것이 해당 객체가 immutable하다는 뜻은 아니다.

스프링에서 예외처리

https://velog.io/@injoon2019/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%ED%94%84%EB%A7%81%EC%97%90%EC%84%9C-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%AC

Affirmation

내일은 인턴 프로젝트 프론트 부분 기능 두 개 이상을 구현하고, 공부는 NullPointerException 다루는 방법, 테스트 코드 작성법 (조금이라도) 공부하자.

0개의 댓글