1. C# / Говнокод #7328

    +975

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    switch (Game1.mus)
                {
                    case false: sb.Draw(disabled, new Vector2(ScrW - 256, 90), Color.White); break;
                    case true: sb.Draw(enabled, new Vector2(ScrW - 256, 90), Color.White); break;
                }
                
                switch (Game1.bloooom)
                {
                    case false: sb.Draw(disabled, new Vector2(ScrW - 256, 180), Color.White); break;
                    case true: sb.Draw(enabled, new Vector2(ScrW - 256, 180), Color.White); break;
                }
                
                switch (Game1.part)
                {
                    case false: sb.Draw(disabled, new Vector2(ScrW - 256, 270), Color.White); break; //420
                    case true: sb.Draw(enabled, new Vector2(ScrW - 256, 270), Color.White); break;
                }
                
                switch (Game1.eff)
                {
                    case false: sb.Draw(disabled, new Vector2(ScrW - 256, 360), Color.White); break; //510
                    case true: sb.Draw(enabled, new Vector2(ScrW - 256, 360), Color.White); break;
                }
                switch (Game1.shad)
                {
                    case false: sb.Draw(disabled, new Vector2(ScrW - 256, 450), Color.White); break; 
                    case true: sb.Draw(enabled, new Vector2(ScrW - 256, 450), Color.White); break;
                }

    Оттуда же, откуда и #5199. Случайно обнаружил...

    Запостил: RaZeR, 24 Июля 2011

    Комментарии (14) RSS

    • кейс на булин? я такого еще не видел )))
      Ответить
    • Будет весело, если disabled и enabled определены как false и true соответственно.

      И почему-то секцию default я не увидел. Вдруг что-то пойдёт не так?
      Ответить
      • у них и так все не так
        Ответить
      • >Будет весело, если disabled и enabled определены как false и true соответственно.
        Тогда выхлоп рефака 4 строки.
        Ответить
      • disabled и enabled - текстуры, но говнокодности фрагмента это не уменьшает :)
        Ответить
    • показать все, что скрытоКонкурс на самый лучший рефакторинг этого кода объявляю открытым.
      Ответить
      • boolean blooms[5] = {Game1.mus, Game1.bloooom, Game1.part, Game1.eff, Game1.shad};
        int offsets[5] = {90, 180, 270, 360, 450};
        for(i = 0; i < 5; i++) sb.Draw(blooms[i], new Vector2(ScrW - 256, offsets[i]), Color.White);
        Ответить
        • это не С#. а если C/C++, то размер массива можно не указывать. Ну и булен не знаю куда девать в таком виде.
          Ответить
          • Да я понял, когда отправил комментарий. Но это же говнокод, здесь не должно быть всё правильно. А с булином выкручиваться либо тернарным оператором:
            sb.Draw(blooms[i] ? enabled : disabled, new Vector2(ScrW - 256, offsets[i]), Color.White);

            Либо массивчиком из двух элементов: {disabled, enabled}
            Ответить
        • А ещё сделать:
          for(i = 0; i < 5; i++) sb.Draw(blooms[i], new Vector2(ScrW - 256, 90 * (i + 1)), Color.White);

          и не нужны offsets
          Ответить
    • bloooom, bleeeeat'!
      Ответить
    • Я отказываюсь верить в то, что так можно писать на C# ;(
      Ответить

    Добавить комментарий