ResourceReloadListener#reload
не должен выполнять перезагрузку самостоятельно. Вместо этого его цель состоит в том, чтобы вернуть CompletableFuture
, который при оценке должен передать фактические задачи перезагрузки различным Executor
s.
Если вы попытаетесь обмануть систему, поместив код прямо в reload
и вернув какой-нибудь фиктивный CompletableFuture
, который ничего не делает, игра зависнет при перезагрузке, потому что будущее, возвращенное Synchronizer#whenPrepared
, никогда не получит называется.
Назвать его как-то вроде createReloadTask
кажется способом отговорить этот путь и пояснить, что никакая перезагрузка не должна выполняться непосредственно в этом методе.
imo, ResourceReloadListener
следует переименовать в ResourceReloader
, поскольку они фактически выполняют перезагрузку (сравните с ResourceReloadHandler
). Имя reload
подходит, IMO, или мы можем рассмотреть согласованную схему именования для всех имен, связанных с CompletableFuture
.
После просмотра у нас уже есть перезагрузка ресурсов, которая отслеживает перезагрузку.
Теперь я немного запутался в том, как это должно называться, и следует ли его переименовывать или нет.
Хм, может быть ResourceReloader
-> SimpleResourceReload
, ResourceReloadListener
-> ResourceReloader
. Кроме того, назовите ResourceReloadMonitor
до ResourceReload
и назовите реализации соответственно. ResourceReload
представляет одну перезагрузку и отбрасывается сразу после нее, так что это имя на самом деле звучит хорошо.
Самый полезный комментарий
imo,
ResourceReloadListener
следует переименовать вResourceReloader
, поскольку они фактически выполняют перезагрузку (сравните сResourceReloadHandler
). Имяreload
подходит, IMO, или мы можем рассмотреть согласованную схему именования для всех имен, связанных сCompletableFuture
.