Refactoring Seminar

1,041 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,041
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Refactoring Seminar

  1. 1. Introduction to Refactoring Step 1 What, Why, When, How bw.moon@lge.com
  2. 2. What is refactoring• Fowlers definition “A change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior”
  3. 3. Why
  4. 4. Bad Smell
  5. 5. Good Smell
  6. 6. When
  7. 7. Bad Smell
  8. 8. Iterative
  9. 9. Unit test
  10. 10. How : Extract
  11. 11. Extract Class
  12. 12. Extract Method
  13. 13. Remove
  14. 14. Remove Middle Man
  15. 15. Remove Setting Method
  16. 16. Replace
  17. 17. Replace Assignment with Initialization void foo() { int i; // .... i = 7; } void foo() { // ... int i = 7; }
  18. 18. Replace Constructor with Factory Method Employee (int type) { _type = type; }static Employee create(int type) { return new Employee(type); }
  19. 19. Hide
  20. 20. Hide Delegate
  21. 21. Hide Method
  22. 22. Resources 11장. 리팩토링 비디오2장. 리팩토링의 원리3장. 코드에서의 나쁜 냄새4장. 테스트 만들기5장. 리팩토링 카탈로그로...6장. 메쏘드 구성7장. 객체간의 기능 이동8장. 데이터 구성9장. 조건문의 단순화10장. 메쏘드 호출의 단순화11장. 일반화 다루기12장. 대규모 리팩토링13장. 리팩토링 재사용, 그리고 현실14장. 리팩토링 도구15장. 모두 합치기
  23. 23. Resources 2• [항목 24] 컴파일 경고 메시지가 없게 하자 158• [항목 30] int 상수 대신 enum을 사용하자 201• [항목 38] 매개 변수가 유효한지 검사하자 247• [항목 43] null대신 비어있는 배열이나 컬렉션을 반환하자 274• [항목 45] 지역 변수의 유효 범위를 최소화 하자 285• [항목 47] 라이브러리를 배우고 사용하자 293• [항목 48] 정확한 계산에는 float나 double 타입을 쓰지 말자 297• [항목 49] 박스화 기본형보다는 기본형을 사용하자 300• [항목 56] 보편화된 작명 규칙을 따르자 323• [항목 62] 메소드가 던지는 모든 예외를 문서화하자 344• [항목 63] 실패 상황 정보를 상세 메시지에 포함하자 346• [항목 64] 실패 원자성을 갖도록 노력하자 349
  24. 24. Q&A

×