"PHP" / Говнокод #17727 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
<?php
class smth {
    protected static $MARK_UNDEFINED = 'Undefined';
    protected static $MARK_F  = 'ECTS-F';
    protected static $MARK_FX = 'ECTS-FX';
    protected static $MARK_E  = 'ECTS-E';
    protected static $MARK_D  = 'ECTS-D';
    protected static $MARK_C  = 'ECTS-C';
    protected static $MARK_B  = 'ECTS-B';
    protected static $MARK_A  = 'ECTS-A';

    protected function getECTSMark($rate, $current, $examRate)
    {
        $color = self::$MARK_UNDEFINED;
        if ($current > 0) {
            $percent = $rate / $current;
            if ($examRate !== NULL AND $examRate < 22)
                $color = self::$MARK_FX;
            elseif ($percent < 0.31)
                $color = self::$MARK_F;
            elseif ($percent < 0.60)
                $color = self::$MARK_FX;
            elseif ($percent < 0.65)
                $color = self::$MARK_E;
            elseif ($percent < 0.71)
                $color = self::$MARK_D;
            elseif ($percent < 0.85)
                $color = self::$MARK_C;
            elseif ($percent < 0.95)
                $color = self::$MARK_B;
            else
                $color = self::$MARK_A;
        }
        return $color;
    }
}

Сижу и думаю, как это вообще можно как-то.. отговнокодить? О_о

Запостил: xamgore xamgore, (Updated )

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

  • >Сижу и думаю, как это вообще можно как-то.. отговнокодить? О_о

    Пыха же.
    Ответить
  • Ну можно в массиве искать. Но, имхо, и так наглядно.
    Ответить
      • А причем тут керриган и ритчи? Или вы другое имели в виду?
        Ответить
          • Понял, никогда не любил этот стиль. На кой черт строчки экономить, я понимаю это еще в книге бумажной, ради экономии.
            Ответить
  • Так все норм же. Кроме лишней переменной $color

    protected function getECTSMark($rate, $current, $examRate) {
        if ($current <= 0) 
            return self::$MARK_UNDEFINED;
        if ($examRate !== NULL AND $examRate < 22) 
            return self::$MARK_FX;
        return color($rate / $current);
    }
    
    protected function color($percent) {
        if ($percent < 0.31) return self::$MARK_F;
        if ($percent < 0.60) return self::$MARK_FX;
        if ($percent < 0.65) return self::$MARK_E;
        if ($percent < 0.71) return self::$MARK_D;
        if ($percent < 0.85) return self::$MARK_C;
        if ($percent < 0.95) return self::$MARK_B;
        return self::$MARK_A;
    }
    Ответить
  • статичные переменные должны быть константами, а так все терпимо.
    Ответить
    • Константы подразумевают открытый доступ, а это уже нежелательное поведение.
      Ответить
      • Переменные подразумевают возможность их изменения, а это уже нежелательное поведение.
        Ответить
        • Давно доказана тееретическая возможность создания программ не содержащих переменных вообще.
          Но почему-то никто так не пишет *.
          * Кроме 1%, создающих коды без практической полезности.
          Ответить
      • > Константы подразумевают открытый доступ
        В PHP приватные константы не завезли?
        Ответить
          • Да там даже пока нечему давать приватный доступ к классам, неймспейсы пока занимаются простым разделением кода.
            Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8