1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Чем плох говнокод?

Тема в разделе "Оффтопик", создана пользователем coycute, 24 мар 2022.

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

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

    Баллы:
    66
    Имя в Minecraft:
    coycute
    Всем привет! :nerd:
    Я учу язык Java и пытаюсь писать плагины для майнкрафт. Я стал задаваться вопросом: " — Чем плох говнокод?" Ну код говно или не говно, какая разница? Все равно работает хорошо, если я не прав напишите:good:

    А еще недавно заметил что некоторые говорят писать код в одном стиле — это плохо и тут же задаётся вопрос: ПОЧЕМУ?:good::good::good:

    Извините если это тупой вопрос и пожалуйста не поливайте грязью:oops:
     
  2. Zuif

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

    Баллы:
    76
    говнокод плох тем, что другие люди его не смогут нормально поддерживать. Также возможно ты сам через год ничего не сможешь разобрать в своем коде. Кроме того, написание нормального кода существенно может ускорить разработку, + в будущем поможет расширить плагин если будет такая надобность, добавить новый модуль, например, поэтому важно использовать общие принципы разработки, а не писать "говнокод"
     
  3. SashaBrine

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

    Баллы:
    76
    Имя в Minecraft:
    IJustFortiLive
    Рано или поздно ты будешь работать с другими людьми. Плохой код - код который очень сложно прочитать.

    Сам ты спустя время его не поймёшь
     
  4. Автор темы
    coycute

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

    Баллы:
    66
    Имя в Minecraft:
    coycute
    Теперь все ясно, я код пишу так:

    Каждая строчка начинается с
    @EventHandler
    Ну и тут собственно все остальное

    Если так не понятно, завтра оставлю скриншоты:lol:
     
  5. Zuif

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

    Баллы:
    76
    очень круто каждую строчку начинать с EventHandler XD
     
  6. Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    artcart
    Кстати говоря говнокод также сопсобен замедлять производительность сервера. Написал я как-то раз проверку на лимит блоков в чанке. Смотрю потом spark - вижу красные значения от плагина. Почему? Понял что по тому, что каждый раз чанк проверяется если игрок ставит любой блок, только потом допёр что нужно сделать проверку только если данный блок есть в конфиге.
     
  7. Zuif

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

    Баллы:
    76
    это не совсем говно код, говно код это больше про то что работать может даже одинаково, но написано ужасно, и понятно только компилятору, но не человеку. А то что ты написал больше отсутствие оптимизации и недоработка
     
  8. Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    artcart
    Тут была проблема в том что пади обнаружь это без скобок расставленных по человечески
     
  9. Zuif

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

    Баллы:
    76
    а, ну если с такой стороны посмотреть то да
     
  10. Автор темы
    coycute

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

    Баллы:
    66
    Имя в Minecraft:
    coycute
    Не так сформулировал XD
     
  11. SashaBrine

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

    Баллы:
    76
    Имя в Minecraft:
    IJustFortiLive
    Раньше я писал так:
    Код:
    String msg = "";
    for (String i : args) {
        msg += i + " ";
    }
    msg = msg.trim();
    А теперь пишу так:
    Код:
    String msg = String.join(" ", args);
    Подумайте разница огромная
     
  12. Автор темы
    coycute

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

    Баллы:
    66
    Имя в Minecraft:
    coycute
    Реально, первый код не очень понятен и все в одной куче, а второй очень понятен
     
  13. SashaBrine

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

    Баллы:
    76
    Имя в Minecraft:
    IJustFortiLive
    Да, но это не говнокод, это просто приходит с опытом
     
  14. SashaBrine

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

    Баллы:
    76
    Имя в Minecraft:
    IJustFortiLive
    У меня друг постоянно писал так:
    Код:
    @Override
    public boolean onCommand(CommandExecutor sender, Command cmd, String label, String[] args) {
        String name = ((Player) sender).getName();
        return true;
    }
     
  15. Автор темы
    coycute

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

    Баллы:
    66
    Имя в Minecraft:
    coycute
    Понятно, а я вот пытаюсь хоть что-то написать и вроде-бы работает, но иногда я вообще не понимаю как да что сделать и скажу сразу: бывает лень учить Java((
     
  16. Автор темы
    coycute

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

    Баллы:
    66
    Имя в Minecraft:
    coycute
    Смотрю ролики про изучение джава, читаю книги такие как Джошуа Блоха (извините если не правильно написал имя и фамилию) Эффективное программирование.. но там столько текста и читать очень много страниц очень сложно..

    Подскажите, где можно хорошо и понятно учить Java.
     
  17. SashaBrine

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

    Баллы:
    76
    Имя в Minecraft:
    IJustFortiLive
  18. deadanykey

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

    Баллы:
    96
    1. Писать в одном стиле. В принципе, всё равно в каком, но в одном.
    2. Код длиной более 2-3 экранов лучше разделить на методы. Потом будет сильно удобнее. Хоть это и увеличивает размер.
    3. Код внутри блока (например, if-блок) двигаем пробелами.
    4. Не пишем блоки кода на одной строке. Лучше всё-таки разделить на строки.
    5. Отделяем блоки логики пустой строкой.
    6. КОММЕНТАРИИ! Хотя бы основные. А также места, где лично вам было трудно.
    7. Вот так не надо: a = getA(getB(getC(a))). Добавьте лучше переменную, читать станет сильно удобнее.

    Мб, дополню потом.
     
  19. SashaBrine

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

    Баллы:
    76
    Имя в Minecraft:
    IJustFortiLive
    Лол я скинул курс где про это рассказывают,
     
  20. Zuif

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

    Баллы:
    76
    герберта шилдта читайте, напоминает справочник
     

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