아이템 27. 비검사 경고를 제거하라
이펙티브 자바아이템 27. 비검사 경고를 제거하라제네릭을 사용하면 비검사경고가 많이 보일것이다 가능한 비검사 에러를 제거 하자. 컴파일 명령줄 인수에 -Xlint:unchecked를 추가하면 자세한 코멘트가 보인다. 만약 타입 안정성이 확보 되었다고 판단되면 @Supp ...
Read more
java xlint 옵션에 대한 설명
javac Xlint optionsxlint 옵션에 대한 설명 실행은 -Xlint:name 으로 하고 name은 아래의 이름중 하나 입니다. cast : 불필요한 cast에 대해서 경고를 나타냅니다. 1234String s = (String) "Hello ...
Read more
코드리뷰(code review)
코드리뷰(code review)지금까지 소프트웨어 개발 회사를 다니면서 명시적으로나 암묵적으로나 코드리뷰를 했던 경험이 있습니다. 그런데 코드리뷰 후가 문제가 되는 경우가 있다. 사실 코드에서 에러가 나지는 않지만 명시적이지 않은 변수명 및 기능은 바꼈지만 이름이 ...
Read more
아이템 26. raw 타입은 사용하지 말자.
이펙티브 자바아이템 26. raw 타입은 사용하지 말자.12345678910111213141516package com.github.sejoung.codetest.generics;public class Stamp { private String name; ...
Read more
아이템 25. 톱레벨 클래스는 한 파일에 하나만 담으라
이펙티브 자바아이템 25. 톱레벨 클래스는 한 파일에 하나만 담으라소스파일에 톱레벨 클래스를 여러게 만들어도 자바 컴파일러는 문제가 없다. 아래는 Utensil.java 클래스에 톱레벨 클래스를 두개 지정해도 정상적이다. 123456789101112package com ...
Read more
아이템 24. 맴버클래스는 되도록 static으로 만들자
이펙티브 자바아이템 24. 맴버클래스는 되도록 static으로 만들자ava 프로그래밍 언어를 사용하면 다른 클래스에서 클래스를 정의 할 수 있습니다.이러한 클래스는 중첩 클래스(Nested Classes) 라고하며 여기에 설명되어 있습니다. 12345678class O ...
Read more
아이템 23. 테그달린 클래스보다 클래스 계층구조를 활용하라.
이펙티브 자바아이템 23. 테그달린 클래스보다 클래스 계층구조를 활용하라.테그 달린 클래스의 단점은 여러 구현이 하나의 클래스에 담겨서 장황하고 오류를 내기 쉬우며 비효율 적이다. 테그 달린 구조는 클래스 계층구조의 아류일뿐이다. 1234567891011121314 ...
Read more
아이템 22. 인터페이스는 타입을 정의하는 용도로만 사용하라
이펙티브 자바아이템 22. 인터페이스는 타입을 정의하는 용도로만 사용하라123456789101112131415package com.github.sejoung.codetest.constantinterface;// 코드 22-1 상수 인터페이스 안티패턴 - 사용금지! (1 ...
Read more
아이템 21. 인터페이스를 구현하는 쪽을 생각해 설계하라.
이펙티브 자바아이템 21. 인터페이스를 구현하는 쪽을 생각해 설계하라.java 8 이전에는 인터페이스를 해치지 않고 메서드를 추가할 방법이 없었지만 지금은 default 메소드가 생겼다.그렇다고 해서 모든 위험이 사라진것은 아니다. 생각할수 있느 모든상황에서 불변식을 ...
Read more
Java의 SimpleDateFormat은 thread-safe 하지 않다. multi-threaded 환경에서 조심히 사용하자
Java의 SimpleDateFormat은 thread-safe 하지 않다. multi-threaded 환경에서 조심히 사용하자1234567891011121314151617181920212223242526272829303132333435363738394041424344 ...
Read more