지운's 개발일기
기술 경력 블로그
-
Java Refactoring Null Object
1일 1포스팅의 5번째이다. 오늘은 본격적으로 예제와 내용을 보기전에 정리된 카탈로그 표를 먼저 본다. 리팩토링 카탈로그(널 객체 도입) 이름 널 객체 도입(Introduce Null Object) 상황 객체를 다룸 문제 null 확인이 너무 많음 해법 null을 나타내는 특별한 객체를 도입해 ‘아무것도 안 함’ 이라는 처리를 함 결과 null 확인이 줄어듬 방법 널 객체...
-
Java Refactoring Assertion
1일 1포스팅의 4번째이다. Assertion은 우리의 프로그램에 필요한 조건들에 대한 검증을 뜻합니다. 예를 들어서 우리의 java프로그램이 ex1처럼 arguments로 값을 받아야하는데 꼭 하나 이상은 받아야 하는 프로그램이 있다. ex1 package example_4_assertion; import java.util.ArrayList; public class Application{ public static void main(String args[]) { ArrayList<String> dummyList = new ArrayList<>(); for(String item:args) { dummyList.add(item); }...
-
Java Refactoring Control Flag
1일 1포스팅의 3번째이다. 플래그(Flag)란 원래 ‘깃발’이란 뜻인데, 프로그래밍에서는 ‘상태를 기록하고 처리 흐름을 제어하기 위한 boolean 변수’를 의미합니다. 제가 고등학생 때 AVR, 8051, PIC 칩 제어용 프로그램을 작성할 때 정말 많이 사용했던 기억이 나네요. busy(LCD, memory, etc) flag, 그 외 프로그램의 흐름을 제어할 목적으로 정말 많은 플래그들을 만들어서 사용했었습니다. 물론 필요하기에...
-
Java Refactoring MagicNumber
1일 1포스팅의 2번째이다. 어제 작성했던 예제 코드를 재탕한다. 일단 우리가 오늘 리팩토링 해볼 내용은 코드내에 하드코딩 되어있는 숫자 혹은 문자열(Magic number) 을 기호 상수(Symbolic Constant)로 치환 해볼 것이다. Magic number는 코드상에서 if, switch, while, for등 반복, 분기등에서 주로 나타나며 또한 리소스가 필요할 때 리소스 관리는 생각안하고 하드코딩한 곳에서 주로 나타나는데...
-
Java Refactoring Intro
1일 1포스팅의 처음이다. 일단 시작은 길벗에서 출판된 자바로 배우는 리팩토링 입문이란 책을 기본으로 내가 읽으며 느낀 점을 기본으로 시작한다(책 리뷰어 신청했는데 되버려서ㅎㅎ). 일단 리팩토링(Refactoring)은 기본적으로 코드의 좀 더 나은 확장성, 재사용성, 가독성을 가지기 위한 작업이며 노력이다. 최근의 소프트웨어는 멈춰있지 않고 발전속도 또한 점점 가속화 되어가며 트렌드는 따로따로 따라가려면 어지간한 노력가지고는...