![[Java Refactoring] 제어 플래그 삭제](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/cj82gJ/btqV2VwcaxX/E0LH9CwcpMLVH3OfTs1sqK/img.png)
[Java Refactoring] 제어 플래그 삭제
자바로 배우는 리팩토링 입문 Java Refactoring For Beginner 건강한 코드로 소프트웨어 체질을 개선하자! 유키 히로시 지금 길벗 출판사 2017.10.31 리팩토링을 위한 스터디 내용을 정리하자. 제어 플래그 삭제 제어 플래그(controll flag)란 상태를 기록하고 처리 흐름을 제어하기 위한 boolean 타입 변수를 의미한다. 제어 플래그를 지나치게 사용하면 처리 흐름을 파악하기 어려워져서 때로는 프로그램 전체를 파악하는데 어려움을 겪기도 한다. Before public static boolean find(int[] data, int target) { boolean flag = false; for (int i = 0; i < data.length && !flag; i++) { ..
- Study/Java Refactoring For Beginner
- · 2021. 2. 8.
![[Java Refactoring] 매직 넘버를 기호 상수로 치환](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/sXyyr/btqTV9Xvat4/sOIeLmGLEBAuM6c2wkN2rK/img.png)
[Java Refactoring] 매직 넘버를 기호 상수로 치환
자바로 배우는 리팩토링 입문 Java Refactoring For Beginner 건강한 코드로 소프트웨어 체질을 개선하자! 유키 히로시 지금 길벗 출판사 2017.10.31 리팩토링을 위한 스터디 내용을 정리하자. 매직 넘버를 기호 상수로 치환 소스 코드에 특정한 숫자(매직 넘버)를 사용하는 것은 좋지 않은 코딩 스타일이다. 이유 의미를 파악하기 어렵다. 소스 코드에 100이라고 적혀 있으면 무엇을 의미하는지 바로 파악하기 어렵다. 대신 MAX_INPUT_LENGTH라는 기호 상수를 사용하면 의미를 바로 파악할 수 있다. 수정하기 어렵다. 요구사항이 변경되어 최대 입력 문자 길이가 200으로 수정되는 경우, 100이라는 숫자가 이곳저곳에 박혀 있어 수정이 어렵다. 모든 100을 200으로 수정할 수도 ..
- Study/Java Refactoring For Beginner
- · 2021. 1. 17.
![[Java Refactoring] 리팩토링이란 무엇인가?](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/ctVs8k/btqTJSPfsIQ/xMwGSp9Qj0KsHMktFWX5kK/img.png)
[Java Refactoring] 리팩토링이란 무엇인가?
리팩토링 외부에서 보는 프로그램 동작은 바꾸지 않고 프로그램 내부 구조를 개선하는 것이다. 버그 수정, 기능 추가는 리팩토링이 아니다. 소스 정리가 무조건 리팩토링이 아니다. 소스를 정리하는 과정에서 프로그램 동작에 변화가 생길 수 있기 때문이다. 목적 버그를 발견하기 쉽게 만든다. 기능을 추가하기 쉽게 만든다. 리뷰하기 쉽게 만든다. 테스트 리팩토링 전, 후에 동작의 변화가 없는지 유닛 테스트(단위 테스트)가 필요하다. 한계 프로그램이 아직 동작하지 않을 때는 리팩토링이 불가능하다. 우선 동작하게 만들고 진행해야 한다. 시간이 촉박한 경우 리팩토링을 하는 것은 현명하지 않다. 리팩토링 효과는 시간이 지날수록 나타난다. 코드의 악취 리팩토링 에센스 두 가지 수정을 한 번에 하지 않기 되돌리기 쉽게 하기 ..
- Study/Java Refactoring For Beginner
- · 2021. 1. 17.