해결된 질문
작성
·
257
0
안녕하세요
Players의 PlayerDbId, Session의 프로퍼티는 {get; set;}으로 설정되었는데 ClientSession_PreGame의 AccountDbId는 {get; private set;}으로 설정되어있습니다.
AccountDbId는 이 클래스에서만 변경 가능함.. 이라고 설정해두는건 아마 오랜 경험이 있어야 될것 같습니다.
강사님은 보통 어떤 경우를 구분해서 프로퍼티를 설정하시는지 (대략적으로라도..) 궁금합니다~
답변 1
4
안녕하세요,
단순하게 생각해서 Session의 AccountDbId는 처음 한 번 세팅을 해주면
두 번 다시 바뀔 일이 없을테니 private로 막아놓긴 했지만,
그런 부분은 심오하게 고민할 부분은 아니고
이리저리 본인 스타일대로 고쳐도 무방합니다.
사실 저도 회사를 가기 이전에는 회사 코드는 뭔가
규격있는 스타일 및 노하우가 있을거라 생각했지만,
방대한 코드를 보면서 느낀건 (우선 이게 돌아가는게 신기하기도 하고)
100명의 작업자가 있으면 100명의 스타일이 뒤섞여 있기에
세세한 부분은 심각하게 고민할 필요가 없는 것 같습니다.
가령 가끔 질문들을 보면 [특정 함수는 왜 어떤 클래스에 넣었는지],
[전역 클래스, 싱글톤 등은 OOP에 어긋나니 사용하면 안되는거 아니냐] 등의 설계 질문을 종종 받는데
다른 소프트웨어와 다르게 게임은
워낙 사양 변화가 심하고 작업자가 많이 바뀌는 편이기도 해서,
이론적인 부분과 실제 작업하는 방식에는 많은 차이가 있는 것 같습니다.
결론 : 본인 편한대로 하고 잘 돌아가면 됩니다.
그리고 정말 그렇게 하다가 문제가 생기면
거기서 또 경험치를 얻는 부분도 생기니 미리 걱정할 필요가 전혀 없습니다.