developer

고정 헤더 영역

글 제목

메뉴 레이어

developer

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (251)
    • 한양대공학대학원컴퓨터공학과 (1)
    • 통신프로토콜 (2)
    • eclipse (4)
    • spring (37)
      • spring 게시판 만들기 (6)
      • spring 로그인 처리 (2)
      • spring boot (9)
      • spring cloud config (0)
      • spring cloud eureka (0)
    • Git (19)
    • 체당금신청 (5)
    • Mybatis (8)
    • 전세금돌려받기 (2)
    • 아이폰 개발 ( i-os ) (5)
    • 주식 (5)
      • 일일매매동향 (5)
    • Vue.js (12)
      • Vue.js 동영상강좌 (4)
    • 자바강좌 (67)
      • 리팩토링 (13)
    • 취미 (21)
      • 관심기사 (8)
      • 영화 (2)
      • 여행 (9)
      • 마케팅 (2)
    • Database (25)
      • Oracle (10)
    • C언어강좌 (1)
    • 자바스크립트 (18)
      • 자바스크립트 디자인패턴 (2)
      • jquery (9)
    • 파이썬 (5)
    • 정보관리기술사 (4)

검색 레이어

developer

검색 영역

컨텐츠 검색

자바강좌/리팩토링

  • 메서드 추출(Extract Method) 리팩토링

    2020.01.20 by somiyuralove

  • 널 객체 도입 리팩토링

    2020.01.18 by somiyuralove

  • 어서션(assert) 리팩토링

    2020.01.18 by somiyuralove

  • 제어 플래그 삭제

    2020.01.08 by somiyuralove

  • 리팩토링 첫번째 시간

    2020.01.05 by somiyuralove

메서드 추출(Extract Method) 리팩토링

* 메서드 추출 리팩토링 - 한 메서드안에 이런저런 세세한 처리가 많다면 그런 처리를 묶어서 나누고 독립된 메서드로 추출하고 추출한 메서드에는 적절한 이름을 붙임. - 장황한 코드가 읽기 편해짐. - 장단점 : 각 메서드가 짧아지는 장점이 있는 반면 메서드 개수가 늘어남 아래는 리팩토링 하기전의 예제 프로그램입니다. * Banner.java package Banner; public class Banner { private final String _content; public Banner(String content) { _content = content; } public void print(int times) { // 테두리 출력 System.out.print("+"); for (int i=0; i

자바강좌/리팩토링 2020. 1. 20. 21:39

널 객체 도입 리팩토링

하루 건너 먹어야 하는 약이 있습니다. 하지만 '하루 건너 먹기'는 쉽지 않습니다. '매번 오늘은 먹었던가?'하며 확인하기도 하고 깜빡하기도 합니다. 그런 일이 없도록 '아무런 효과도 없는 가짜약'을 만들어 두고 진짜 약과 교대로 먹는 패키지가 있다면 편리할 것입니다. 널 객체 도입(Introduce Null Object) 리팩토링은 아무것도 하지 않는 널 객체를 도입합니다. 널객체를 사용하면 '이 변수는 현재 null인가'라는 확인을 생략할 수 있습니다. 아래코드는 리팩토링 하기전 코드를 보여줍니다. * Person.java package Person; public class Person { private final Label _name; private final Label _mail; public P..

자바강좌/리팩토링 2020. 1. 18. 16:58

어서션(assert) 리팩토링

어서션 도입(Introduce Assertion) 리팩토링의 정의를 알아봅시다. - 어서션이라는 기법으로 프로그래머의 의도를 확실히 밝히면서도 실행시 조건이 반드시 성립함을 보장 프로그램의 어떤 부분에서 변수 value값이 참이어야고 한다면, value값이 참이 아니라면 프로그래머의 의도와는 다른 동작을 합니다. 'value값이 참이어야 한다'를 자바에서는 assert value > 0; 프로그램을 실제로 동작시켜 자바 실행 환경이 어서션을 실행할때 value > 0이라면 아무일도 일어나지 않습니다.. 하지만 만약에 value > 0이 아니라면 자바 실행 환경은 java.lang.AssertionError 예외를 던집니다. 이 예외는 프로그래머가 표명한 조건식이 성립되지 않았다라는 뜻을 나타냅니다. 아래..

자바강좌/리팩토링 2020. 1. 18. 15:34

제어 플래그 삭제

플래그(flag)란 원래 "깃발"이라는 뜻. 프로그래밍에서는 "상태를 기록하고 처리 흐름을 제어하기 위한 boolean 타입 변수"를 의미합니다. 쉽게 말에서 참과 거짓을 나타내주는 플래그입니다. 특히 처리 흐름을 제어할때 사용하는 플래그로 제어 플래그(control flag)라고 합니다. 제어 플래그가 꼭 나쁜것은 아니지만, 무분별하게 사용하면 처리 흐름을 파악하기 어려워져 때로는 프로그램 전체를 파악하는데 어려움을 겪기도 합니다. 그럼 제어 플래그 삭제(Remove Control Flag) 리펙토링에 대해서 알아보겠습니다. 이 방법은 제어 플래그를 삭제해서 프로그램을 읽기 편하게 만드는데, 제어 플래그 대신에 break, continue, return 등을 써서 처리 흐름을 제어합니다. * 예제 프로..

자바강좌/리팩토링 2020. 1. 8. 00:24

리팩토링 첫번째 시간

* 본글은 " 자바로 배우는 리팩토링 입문 " (유키 히로시 지음, 서수환 옮김) 책을 참고하였음을 알려드립니다. * 리팩토링( refactoring ) : 외부에서 보는 프로그램의 동작은 바뀌지 않고 프로그램 내부 구조를 개선 방대한 클래스가 있을때 뭉칠 수 있는 필드와 메서드를 따로 빼내서 새 클래스를 만듬 ( 클래스 추출 ) - 버그 수정은 리팩토링이 아님. - 기능 추가는 리팩토링 아님. - 소스정리(?) -> 소스코드를 정리하다가 프로그램의 동작에 변화가 생길수도 있음, 단순히 소스코드를 정리하는 것이 아니고 외부에서 보는 프로그램에 변화가 없음을 확인해야 함. 리팩토링 하고 난 후 적어도 유닛테스트( 단위테스트) 수행. * 리팩토링의 목적 - 버그를 발견하기 쉽게 함 - 기능을 추가하기 쉽게 ..

자바강좌/리팩토링 2020. 1. 5. 18:25

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
developer © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바