Заглянул тут недавно в чат сервер, и немного ох... Был ошарашен.
Меня тупо интересует вопрос, какой идиот придумал хардкодить статичные каналы в классе ChatChannels.java? (вопрос был риторический, это всё дело рукожопых AL, AionCore)
Автор конечно конченный идиот. Чат каналы (а точнее их названия) прилетают с клиента в пакете. Ну и зачем, скажите мне их харкодить?
Мама не учила создавать динамический справочник? Примерно вот так:
Ещё и понаделали кучу бесполезных классов:
Это всё идентифицируется переменными от 3 до 6, достаточно одного класса с идентификатором
3 - Чат локации, 4 - Чат торговли, 5 - Чат поиска группы, 6 - Чат класса.
В итоге имеем лаконичный чат сервер.
P.S. Да и ещё, не используете lock в таких примерах:
Потоки могут уйти в ожидание или в блокировку. Процесс блокировки и возобновления потока дорогое удовольствие с точки зрения производительности.
А говнокодеров, которые писали такой код, гнать нахер.
Меня тупо интересует вопрос, какой идиот придумал хардкодить статичные каналы в классе ChatChannels.java? (вопрос был риторический, это всё дело рукожопых AL, AionCore)
Автор конечно конченный идиот. Чат каналы (а точнее их названия) прилетают с клиента в пакете. Ну и зачем, скажите мне их харкодить?
Мама не учила создавать динамический справочник? Примерно вот так:
Java:
Please,
Вход
or
Регистрация to view codes content!
Ещё и понаделали кучу бесполезных классов:
Please, Вход or Регистрация to view quote content!
Это всё идентифицируется переменными от 3 до 6, достаточно одного класса с идентификатором
3 - Чат локации, 4 - Чат торговли, 5 - Чат поиска группы, 6 - Чат класса.
В итоге имеем лаконичный чат сервер.
P.S. Да и ещё, не используете lock в таких примерах:
Java:
Please,
Вход
or
Регистрация to view codes content!
Потоки могут уйти в ожидание или в блокировку. Процесс блокировки и возобновления потока дорогое удовольствие с точки зрения производительности.
А говнокодеров, которые писали такой код, гнать нахер.