티스토리 뷰
전역 데이터
- 전역 데이터 (예, 자바의 public static 변수)
- 전역 데이터는 아무곳에서나 변경될 수 있다는 문제가 있다.
- 어떤 코드로 인해 값이 바뀐 것인지 파악하기 어렵다.
- 클래스 변수 (필드)도 비슷한 문제를 겪을 수 있다.
변수 캡슐화하기 (Encapsulate Variable)
를 적용해서 접근을 제어하거나 어디서 사 용하는지 파악하기 쉽게 만들 수 있다.- 파라켈수스의 격언,
약과 독의 차이를 결정하는 것은 사용량일 뿐이다.
변수 캡슐화하기 (Encapsulate Variable)
- 메소드는 점진적으로 새로운 메소드로 변경할 수 있으나, 데이터는 한번에 모두 변경해야 한다.
- 데이터 구조를 변경하는 작업을 그보다는 조금 더 수월한 메소드 구조 변경 작업으로 대체 할 수 있다.
- 데이터가 사용되는 범위가 클수록 캡슐화를 하는 것이 더 중요해진다.
- 함수를 사용해서 값을 변경하면 보다 쉽게 검증 로직을 추가하거나, 변경에 따르는 후속 작업을 추가하는 것이 편리하다.
- 불변 데이터의 경우에는 이런 리팩토링을 적용할 필요가 없다.
Reference
백기선. 코딩으로 학습하는 리팩토링. 인프런. https://www.inflearn.com/course/%EB%A6%AC%ED%8C%A9%ED%86%A0%EB%A7%81/dashboard
'Study' 카테고리의 다른 글
[Refactoring] 뒤엉킨 변경 (0) | 2022.02.27 |
---|---|
[Refactoring] 가변 데이터 (0) | 2022.02.26 |
[Refactoring] 긴 매개변수 목록 (0) | 2022.02.24 |
[Refactoring] 긴 함수 (0) | 2022.02.21 |
[Refactoring] 중복 코드 (0) | 2022.02.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스프링 부트
- 알고리즘
- 스프링부트
- 구현
- 데이터베이스
- 정렬
- leetcode
- 인프런
- 릿코드
- 파이썬
- 노마드
- webflux
- 김영한
- 백준
- 스프링
- kotlin
- 북클럽
- 노마드코더
- mysql 8.0
- 코테
- spring boot
- 자료구조
- Algorithm
- 그리디
- Spring
- 리팩토링
- Real MySQL
- 문자열
- MySQL
- 코틀린
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함