2018-05-02 독서 일지

들어가며

  • 습관을 들이기 위해 하루 하루 일지를 작성할 예정

int 상수 대신 enum을 사용하라

  • 상수, 하드 코딩된 스트링 문자열은 전부 extract로 뽑아서 관리하고, 리팩토링했다.

int를 이용한 enum 패턴 -> 더럽고 타입 안정성을 보장하지 않는다.

다른 언어의 enum은 enum의 껍데기를 쓴 int 형이지만, java는 완전한 기능을 갖춘 클래스다.

  • 요즘 enum을 이용해 리팩토링을 많이 진행중인데, 천편일률적인 모양새가 대부분이다.
  • 스트링을 속성으로 갖는 일반적인 enum 형태..
  • 다양한 사용법을 비즈니스에 적용할 방법을 고민해봐야겠다.

Ordinal 대신 객체 필드를 사용하라.

  • Ordinal은 일반적인 프로그래머가 사용할 일이 없다. 피하자.

Enum에 메소드를 구현하고, 인터페이스를 이용해 확장 가능하다.

Reference

  • 조슈아 블로크 지음, 이병준 옮김 『 Effective Java 2nd edition 』, 인사이트(2014. 09. 01), 인용.

  • 스티브 맥코넬 지음, 서우석 옮김 『 코드 컴플리트 2nd edition 』, 위키북스(2017. 07. 28), 인용.

  • 찰스 펫졸드, 『 Code, 하드웨어와 소프트웨어에 숨어있는 언어 』, 인사이트(2010 10 11), 인용.

  • 스티브 프리먼, 냇 프라이스 지음, 이대엽 옮김, 『 테스트 주도 개발로 배우는 객체 지향 설계와 실천 』, 인사이트(2013 06 20), 인용.

  • 앤드류 헌트, 데이비드 토머스 지음, 김창준, 정지호 옮김, 『 실용주의 프로그래머 』, 인사이트(2005 08 02), 인용.