1. PHP / Говнокод #12301

    +58

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    private function  _getOrderBy($orderField)
        {
            switch ($orderField)
            {
                case 'ProductID':
                    return 'ProductID';
                case 'ProductName':
                    return 'ProductName';
                case 'Per':
                    return 'Per';
                case 'Start':
                    return 'Start';
                case 'Qty':
                    return 'Qty';
                case 'OrderDetailsID':
                    return 'OrderDetailsID';
                case 'FIOUr':
                    return 'FIOUr';
                case 'AddressUr':
                    return 'AddressUr';
                case 'ZipCodeUr':
                    return 'ZipCodeUr';
                case 'OrderRealSupID':
                    return 'OrderRealSupID';
                case 'PayDate':
                    return 'PayDate';
                case 'SumPay':
                    return 'SumPay';
                case 'NumPlPor':
                    return 'NumPlPor';
                default:
                    return 'OrderID';
            }
        }
    
    //Вот еще чуть-чуть:
    
    private function  _getOrderType($orderType)
        {
            switch ($orderType)
            {
                case 'asc':
                    return 'asc';
                default:
                    return 'desc';
            }
        }

    Ну в общем, привожу пару этюдов из "коричневой" симфонии, которые используются для формирования SQL запроса. Код - прост, но говнист.

    Запостил: SunnyMagadan, 17 Декабря 2012

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

    • Жесть. Массив? Нет, не слышал... Хотя тут и без этого говно...
      Ответить
    • Давно тут таких канонiчных свичей из говна не было.
      Ответить
    • Только ифы, только хардкор.
      Ответить
    • А зачем он сравнивает многосимвольные литералы? А кресты так позволяют? Тфу это не кресты. Что-то мне они везде мерещится стали?
      Ответить
      • http://ideone.com/qTWAwD
        #include <iostream>
         
        using namespace std;
         
        int main() {
           cout<<"tarasb ";
           switch('tarasb'){
           case 'tarasb':cout<<"kokochet";
           default:;};
           
           return 0;
        }
        Ответить
        • Многосимвольные литералы очень зависят от компилятора. В данном случае в качестве их значений берутся последние 4 символа. Скомпилить свич с 'tarasb' и 'tararasb' уже не получится. У других компилеров могут получиться другие эффекты.

          P.S. Точка с запятой после фигурной скобки. Заразился у ГотичнойАлисы?
          Ответить
          • >:;};
            Мне это просто напомнило какой-то смайлик, только я не понял какой.
            Ответить
    • В чём суть таких свичей? Можно же было и без них обойтись.
      Ответить
      • Более того, можно было бы вообще без этой функции обойтись... Смысл в функции с универсальным названием, которая проверяет аргументы запроса, которые верны лишь для одной таблицы (касается первой функции)? Или же здесь для каждой таблицы свой класс...
        Ответить

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