최근 포스트

리팩토링2 스터디 - 006 - 1

9 분 소요

6장 기본적인 리팩터링 가장 기본적인 리팩터링들로 시작한다. ‘함수 추출하기’와 ‘변수 추출하기’를 가장 많이 사용하게 된다. 이 기법의 반대인 ‘함수 인라인하기’, ‘변수 인라인하기’도 자주 사용한다. 추출은 결국 이름 짓기이며, 코드 이해도가 높아지면 이름을 바꿔야할 때가...

리팩토링2 스터디 - 005

최대 1 분 소요

5장 리팩터링 카탈로그 보는 법 리팩터링 설명 형식 이름 : 가장 먼저 이름이 나온다. 개요 : 리팩터링의 핵심 개념을 간략히 표현한 개요가 나온다. 나중에 다시 찾아볼 때 이 기법이 어떤 것인지 쉽게 떠올리게 도와준다. 배경 : 해당 리팩터링 기법이 왜 필요한지와...

클린코드 스터디 - 017

3 분 소요

17장 냄새와 휴리스틱 휴리스틱(heuristics) 또는 발견법(發見法)이란 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있는 어림짐작의 방법이다. 마틴 파울러의 R...

클린코드 스터디 - 016

14 분 소요

16장 SerialDate 리팩터링 SerialDate 는 org.jfree.date 라는 패키지에 있는 날짜를 표현하는 자바 클래스임 이 장에서는 SerialDate 를 리팩토링 해보겠음 p.448 부록 B-1 은 리팩토링 전 코드 p.512 부록 B-7 은 리팩토링 ...

리팩토링2 스터디 - 004

7 분 소요

4장 테스트 구축하기 도입부 리팩토링을 제대로 하려면 불가피하게 저지르는 실수를 잡아주는 견고한 테스트 스위트(test suite)가 뒷받침돼야 한다 자가 테스트 코드의 가치 테스트를 작성하고 결과를 일일이 확인하지말고 결과값이 예상값과 같으면 화면에 “OK”만...

클린코드 스터디 - 015

2 분 소요

15장 Junit 들여다보기 JUnit 은 Java 용 유닛 테스트 프레임워크 이다. https://ko.wikipedia.org/wiki/JUnit JUnit 프레임워크 들어가면서.. 이번 장은 JUnit 중 ComparisonCompactor 라는 모듈을 보이스카...

클린코드 스터디 - 014

16 분 소요

14장 점진적인 개선 Args 를 만들었고 사용법을 확인해보자 Args 생성자에 형식 문자열(”l,p#,d*”)과 인수 문자열(args)을 넘겨 인스턴스를 생성한다. 생성한 인스턴스에 인수값을 질의해서 가져올 수 있다. public static void main(String...

클린코드 스터디 - 013

9 분 소요

13장 동시성 객체는 처리의 추상화다. 스레드는 일정의 추상화다. 동시성과 깔끔한 코드는 양립하기 어렵다. 동시성이 필요한 이유? 동시성은 결합(coupling)을 없애는 전략이다. 즉, 무엇(what)과 언제(when)을 분리하는 전략이다. 무엇과 언제를 분리하면 애플리...

리팩토링2 스터디 - 003

10 분 소요

3장 코드에서 나는 악취 리팩터링의 작동 원리를 아는 것 만큼 리팩터링 시점을 아는 것은 중요하다 이 책에서 리팩터링을 언제 해야하는지에 대한 명확한 기준을 제시하지는 않지만 문제의 징후를 제시해보겠다 기이한 이름 Mysterious Name 코드 이름은 단순하고 명료하게 ...

리팩토링2 스터디 - 002

14 분 소요

2장 리팩터링 원칙 리팩터링 정의 사전적 의미 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 리팩토링의 특별한 원칙 코드가 항상 정상작동해야 한다. ...