Java
일반
문법
필드는 final 인 편이 좋으며, 그렇지 않더라도 가능한 경우 final로 변환 되어야 합니다.
중첩 if 문 사용을 자제하며, 가능하면 Guard Clause(Early Return)로 변환되어야 합니다.
로깅에 사용되는 String은 Parameterized Logging 을 사용할 것을 권장합니다.
Data handle
분산 서버 환경에서는 서버 간 데이터 연동이 필요합니다. 하지만 이 작업에는 늘 경쟁 상태가 발생할 수 있으므로, 다음의 사항을 따르는 것이 좋습니다.
유저 접속 시 일정 시간이 지난 후 로드를 시도해야 합니다. (이전 데이터가 저장되는 시간이 필요합니다.)
데이터 로드를 진행 할 때 플레이어가 없을 수 있으므로 온라인 여부를 체크 해야 합니다.
데이터 로드는 비동기로 진행되어야 합니다.
변경 사항이 많지 않으면서 즉시 저장되어야 하는 데이터는 비동기로 그때그때 저장하는 것이 좋습니다.
변경 사항이 많으나 빠르게 저장되어야 하는 데이터는 내부 캐시에 저장 후 일정 시간마다 일괄 저장 하는 것이 좋습니다.
플레이어가 나갈 때 데이터를 저장하려는 경우, 플레이어가 동시에 여러 서버에 접속 시도한 경우를 고려해 Loaded 플래그 등이 필요할 수 있습니다.
Last updated