자바코딩의기술 3

자바 코딩의 기술 - 9장 ( 실전 준비 )

코드의 첫 90%에 개발 시간의 첫 90%가 쓰인다. 코드의 나머지 10%에 개발 시간의 마지막 90%가 쓰인다. - 톰 카길 9-1 정적 코드 분석 도구 - SpotBugs( https://spotbugs.github.io/) 자바에서 가장 오래된 정적 코드 분석도구이다. - Checkstyle(https://checkstyle.sourceforge.io/), PMD(https://pmd.github.io/) 도 유명하나, 다소 장황하고 특정 코드 방식을 고집하는 등 선호도를 탄다. - Error Prone(https://errorprone.info/) 은 ConcurrentHashMap 내 버그를 감지하면서 유명해 졌는데, 구글이 자체 개발했다. - Code Inspection( https://www..

자바 코딩의 기술 - 8장 ( 데이터 흐름 )

객체 지향 프로그래밍은 동작부를 캡슐화해 코드를 이해하기 쉽게 만든다. 함수형 프로그래밍은 동작부를 최소화해 코드를 이해하기 쉽게 만든다. - 마이클 페더스 8-1. 익명 클래스 대신 람다 사용하기 Map values = new HashMap(); Double square(Double x) { Function squareFunction = new Function() { @Override public Double apply(Double value) { return value * value; } }; return values.computeIfAbsent(x, squareFunction); } 위와 같이 익명클래스(squareFuction)을 만드는 것보다 람다 표현식이 낫다 Map values = new H..

자바 코딩의 기술 - 7장 ( 객체 디자인 )

컴퓨터 과학의 모든 문제는 또 다른 간접 게층을 추가해 풀 수 있다. 하지만 대부분 또 다른 문제를 양산한다. - 데이비드 휠러 7-1. boolean 매개변수로 메서드 분할 void log(String message, boolean classified) throws IOException { if (classified) { writeMessage(message, CAPTAIN_LOG); } else { writeMessage(message, CREW_LOG); } } 위는 기장(Captain)과 승무원(Crew)로그 처리 부분과 같이 서로 연관 없는 부분을 메서드를 각각 분리하는게 좋다. void writeToCaptainLog(String message) throws IOException { write..

반응형