Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Большие плагины в один класс - плохая практика?

Тема в разделе "Разработка плагинов для новичков", создана пользователем molor, 17 фев 2017.

  1. Автор темы
    molor

    molor Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    molore
    Доброе время суток. Меня интересует такой вопрос: в чём основные преимущества написания кода (плагинов) с использованием нескольких классов?

    Задав подобный вопрос на stackOverflow некоторое время назад, несколько умных (наверное) людей дали мне мне понять только одно: такой код выглядит красивее, и разобраться в нём проще. На вопрос о приросте производительности был дан примерно такой ответ: "почти никак не влияет".

    Так есть ли действительно смысл писать большие плагины только с использованием нескольких классов, помимо удобочитаемости такого кода? Или можно создать мини-игру вроде spleef'а, воспользовавшись только классом Main, и всё будет работать точно так же?

    Чтобы Вы понимали, что для меня есть "большие плагины" - это, например, плагины мини-игр или фракций. Спасибо.
     
  2. Хостинг MineCraft
    <
  3. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    У тебя есть большая коробка.Ты закинул в неё несколько книг, карандаши, любимый свитер и ещё кучу других мелочей.Потом, ты хочешь что-либо взять из этой коробки.На поиски нужной вещицы у тебя уйдёт больше времени чем если бы ты разложил вещи по типам в разные коробки, особенно когда "смешанных" коробок у тебя много.Например, коробка с одеждой, коробка с книгами, коробка с карандашами и коробка для разных мелочей.В итоге, если тебе нужен будет твой свитер, ты всегда будешь знать в какой коробке он лежит.В таком случае, времени и усилий на получение нужной вещицы уйдёт меньше.Так что стоит добиваться максимальной связности внутри коробки и минимальной внешней, это нужно для того, что бы, например, когда ты захочешь выбросить всю свою одежду, среди одежды не оказалось хорошей книги или сувенира из Воркуты.А вообще, это полностью вопрос архитектуры.Есть куда больше полезных советов проектирования архитектуры, придерживаясь которых можно забыть о многих проблемах в будущем.Больше информации о проектировании можешь найти в книге Макконнелла "Совершенный код", например.
     
  4. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Ужасная практика.
    В больших плагинах должно присутствовать что-то вроде модульности. Тоесть, обработка конфигов в одном классе, работа с ентитями в другом и так далее.
    Ты просто утонешь в г*вне если у тебя какая-нибудь миниигра (BedWars например) будет написана в один класс. Ибо там больше 10к строк может выйти.
    Мало того, я уже молчу про рефакторинг и читабильность кода.
    И если ты ещё сможешь разбираться в том, что и где находится, то вот кто-то другой убьёт кучу времени, чтобы переписать то, что ты там в одном классе нацарапал.
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    На скорость это не повлияет, а вот на убитый ооп еще как. Потом сам перестанешь понимать где и что у тебя там.
    P.s да и не все получится в одном классе сделать, отдельные трейды сами разделятся при компиляции.
     
  6. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    *like*
     
  7. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Пакеты в чашке не просто так придумали, они нужны чтобы классы раскладывать по полочкам,
     
  8. IcedwinterZ

    IcedwinterZ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Меня всегда трясло от таких плагинов, где в Main было > 1000 строк, фу
     
  9. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    У меня Main класс у миниигры в 25 строк :D
     
  10. IcedwinterZ

    IcedwinterZ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    У меня они всегда не > 50 строк :)
     
  11. Sonicxd2

    Sonicxd2 Активный участник Пользователь

    Баллы:
    76
    О - обфускация
     
  12. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    ты гений XD
     

Поделиться этой страницей