내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
java:null_check
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Java Null Check static analysis ====== * [[java:jspecify|jspecify]] * [[java:checker|Checker Framework]] - [[https://checkerframework.org/manual/#nullness-checker|Nullness Checker]] * [[java:null_away|NullAway]] * [[http://fbinfer.com/docs/eradicate.html|Eradicate]] * Java 에는 null 검사 관련 애노테이션이 매우 다양하다. ===== Spring Framework null check annotations ===== * [[https://www.baeldung.com/spring-null-safety-annotations|Spring Null-Safety Annotations | Baeldung]] * [[https://sites.google.com/site/pawneecity/sprint-boot/null-safety-spring-boot|Null-safety (Spring Boot)]] * [[https://reflectoring.io/spring-boot-null-safety-annotations/|Protect Your Code from NullPointerExceptions with Spring's Null-Safety Annotations]] * [[:intellij_idea|IntelliJ IDEA]], [[java:spotbugs|SpotBugs]], [[java:sonarqube|SonarQube]] 등에서 인식한다. ===== Null 검사 Annotation과 FindBugs ===== * **JSR 305 annotation** 은 ''javax'' 로 패키지가 시작되는데 이것은 Oracle 정책상 라이센스 위반이라서 사실상 사용 금지된 상태로 보인다. * 그래도 JSR 305가 좋다는 글 - [[https://dzone.com/articles/when-to-use-jsr-305-for-nullability-in-java|When to Use JSR 305 for Nullability in Java - DZone]] * Null관련해서 소스에 지정하는 것은 [[java:findbugs|Java FindBugs]]의 JSR 305 annotation 을 사용한다. 이 어노테이션을 여러 Null Check 프레임워크들이 공통으로 사용한다. * ''@javax.annotation.Nullable'' : null 일 수 있는 파라미터, 리턴값 등에 지정한다. * ''@javax.annotation.Nonnull'' : 어노테이션을 지정하지 않은 파라미터 리턴값등은 무조건 ''@Nonnull'' 로 자동 지정된다. * Findbugs 자체는 의도적으로 null check를 느슨하게 하여 false alarm을 줄여놔서 촘촘하게 검사하지 못한다고 한다. * 혹은 Uber [[java:null_away|NullAway]], [[java:checker|Checker Framework]]를 사용하는게 나을 듯. ===== 참조 ===== * [[https://www.beyondjava.net/getting-rid-of-the-nullpointerexception-in-2020|Getting Rid of the NullPointerException - 2020 Edition]] * [[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use/42695253#42695253|nullpointerexception - Which @NotNull Java annotation should I use? - Stack Overflow]] * [[https://dzone.com/articles/when-to-use-jsr-305-for-nullability-in-java|When to Use JSR 305 for Nullability in Java - DZone]] * [[https://checkerframework.org/manual/#nullness-related-work|The Checker Framework Manual: Custom pluggable types for Java]] - [[java:checker|Checker Framework]] 외의 다른 null check annotation 목록.
java/null_check.txt
· 마지막으로 수정됨: 2023/06/20 14:06 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로