티스토리 뷰

Study

[Refactoring] 전역 데이터

hyuuny 2022. 2. 25. 01:00

전역 데이터


  • 전역 데이터 (예, 자바의 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
링크
«   2025/04   »
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
글 보관함