이런 정석에는 항상 "왜!?" 라는 것이 따라 다니는데...

"전역 데이터"를 왜 최소화 해야 하는가?

전역 데이터는, 전역 네임스페이스에 있는 데이터로써,  어디에서건 접근 할 수 있다. 이 말만 들으면, 아주 좋은 자리에 줄을 선 데이터 이다. 하지만 이 "어디에서건"이 매우 복잡한 상태를 초래하게 된다.

자리가 매우 좋으니, 어디에서건 값을 수정 할 수 있게 된다. 그래서 그 값이 왜 어떻게 언제 수정되었는지 알기가 매우 힘들어 진다. 이런 것이 "아느니 모르니만 못하다" 라는 소리를 듣는 경우이다.


그렇다면, "공유 데이터" 는 무엇을 말하는 것일까?

바로 클래스의 멤버 데이터를 말한다.

이것은 또 왜 문제인가?

바로 전역 데이터 처럼 쓰여지니 문제가 똑같이 된다.


경험으로는. private 멤버 데이터를, 참조형태로 밖에서 변경하게 될 경우, ... 어디서 고쳐졌는지 모르는 상태가 되는 경우와, SOCKET을 외부에 노출하게 됨으로써, 소켓의 상태가 손쉽게 변경 될 수 있다는 점을 겪어 보았다.


총평

정석대로 코딩.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기