Java

일반

문법

  • 필드는 final 인 편이 좋으며, 그렇지 않더라도 가능한 경우 final로 변환 되어야 합니다.

  • 중첩 if 문 사용을 자제하며, 가능하면 Guard Clause(Early Return)로 변환되어야 합니다.

  • 로깅에 사용되는 String은 Parameterized Loggingarrow-up-right 을 사용할 것을 권장합니다.

Data handle

분산 서버 환경에서는 서버 간 데이터 연동이 필요합니다. 하지만 이 작업에는 늘 경쟁 상태arrow-up-right가 발생할 수 있으므로, 다음의 사항을 따르는 것이 좋습니다.

  • 유저 접속 시 일정 시간이 지난 후 로드를 시도해야 합니다. (이전 데이터가 저장되는 시간이 필요합니다.)

  • 데이터 로드를 진행 할 때 플레이어가 없을 수 있으므로 온라인 여부를 체크 해야 합니다.

  • 데이터 로드는 비동기로 진행되어야 합니다.

  • 변경 사항이 많지 않으면서 즉시 저장되어야 하는 데이터는 비동기로 그때그때 저장하는 것이 좋습니다.

  • 변경 사항이 많으나 빠르게 저장되어야 하는 데이터는 내부 캐시에 저장 후 일정 시간마다 일괄 저장 하는 것이 좋습니다.

  • 플레이어가 나갈 때 데이터를 저장하려는 경우, 플레이어가 동시에 여러 서버에 접속 시도한 경우를 고려해 Loaded 플래그 등이 필요할 수 있습니다.

Last updated