Си диез / Говнокод #16571 Ссылка на оригинал

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
String r_count = "";
            String r_cat = "";
            String r_pansion = "";
            for (Int32 ii = 0; ii < rows.Count; ii++)
            {
                Int32 j = rows[ii].NNight;
                DateTime d = rows[ii].DateBeg;
                DateTime d_e = rows[ii].DateEnd;
                Int32 type = rows[ii].MinLength > 0 ? 3 : 2;
                j = (type == 3) ? -1 : j;

                Int32 lengthMin = rows[ii].MinLength;
                if (((d < date1 || d > date2) && type != 3))
                    continue;
                else
                    if (!(d <= date1 && d_e >= date1 || d <= date2 && d_e >= date2) && date1 != DateTime.MinValue && date2 != DateTime.MaxValue && type == 3)
                        continue;
                String _r_count = _Rooms[rows[ii].RoomId];
                String _r_cat = _RoomCat[rows[ii].RoomCatId];
                String _r_pansion = _Pansions[rows[ii].PansionId];
                List<String> a = new List<string>();
                if (_r_count != r_count || _r_cat != r_cat || _r_pansion != r_pansion)
                {
                    if (!String.IsNullOrEmpty(r_count) && !String.IsNullOrEmpty(r_cat))
                    {
                        Pricing.RoomCat cat = new Pricing.RoomCat();
                        cat.RoomCount = r_count;
                        cat.RoomName = r_cat;
                        cat.PansionName = r_pansion;

                        p.rooms.Add(cat);
                    }
                    r_count = _r_count;
                    r_cat = _r_cat;
                    r_pansion = _r_pansion;
                }

Краху туроператоров способствовали также и собственные инженеры.

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

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

  • Наличие:
    List<String> a = new List<string>();

    как-бы намекает...
    Хотя в таком коде, компилятору стоило-бы ругнуться warning'ом.
    Ответить
    • Да там не только a, там ещё несколько неиспользуемых переменных есть, с такими же говно-названиями.
      Видимо все это ещё и внутри другого говно-цикла находится, судя по Int32 ii.
      Но меня больше интересует если софт для тур-агенств, что содержится в RoomCat ?)) Кошкин дом?
      Ответить
      • О наболевшем:
        Как объяснить человеку (человек хороший. Во всех смыслах этого слова), что писать переменные кодировками inclid, rfid, cadid, rnid и т.п. - не очень хорошо?
        У человека опыт подобного написания - уже больше 15 лет...
        Ответить
        • >>писать переменные кодировками inclid, rfid, cadid, rnid

          Это как? Че за кодировки?
          RFID? если ни че не путаю это такая фигня на товарах в супермаркетах квадратная. радио чето АйДи

          не, не путаю,
          Radio Frequency IDentification
          Ответить
            • >Че за кодировки?
              inclid - InlineClientId
              cadid - Catalog[Дальше не помню]
              rnid - RowNumberId

              Смысл - сокращение по первым буквам.
              Проблемы начинаются, когда кончаются первые буквы. Тогда появляются всякие inlid->inclid...
              Ответить
          • Товарах? Мсье, ви только что таки оскорбили дело всей жизни аццкой сотоны по внедрению чипов-печатейогромный пласт бесконтактной технологии. Это - бесконтактные карты для оплаты транспорта, это - стандарты бесконтактных платежей через paypass/paywave, это чипы с информацией о животных, прививках, паспорта, идентификационные карты, прочие бесконтактные носители, домофонные ключи, nfc, наконец.
            Товары - крайне скромный и не сильно популярный сегмент использования таких технологий.
            Ответить
        • Мне как раз на днях достался проект в наследство от "программиста", где везде только одни сокращения, блять как меня это бесит.
          Например login и pass. Ну нахуя так писать? Что так трудно написать PASSWORD? spd вместо Speed, ign вместо Ignore и так далее, хочется взять автомат и сделать в дрк, то есть ДЫРОЧКИ в нем понаделовать
          Ответить
            • сишная же. Это в Си по стандарту длина идентификаторов была ограничена.
              Ответить
              • > по стандарту
                По стандарту она как раз не ограничена. Это достандартные компиляторы такой хуйней страдали.

                А O_CREAT и umount вообще просто так, сдуру, придумали. Ибо рядом были и более длинные идентификаторы...
                Ответить
                • У кернигана и ритчи написано "Стандарт ANSI ограничивает длину идентификаторов. Ограничение зависит от платформы, но не больше 32-х символов". В новом стандарте наверняка не ограничено, но новый стандарт много где не поддерживается\не используется.
                  Ответить
                  • > не больше
                    наоборот
                    в анси: платформа должна поддерживать внутренние идентификаторы с длиной минимум 31 символ, и внешние - минимум 6
                    в более поздних стандартах стали минимальные требования 63/31
                    при этом Implementations should avoid imposing fixed translation limits whenever possible.

                    > новый стандарт много где не поддерживается
                    если речь о m$, то у нее единоутробный компилятор с/с++, и поэтому таких мелких ограничений тем более нет
                    Ответить
                    • >если речь о m$, то у нее единоутробный компилятор с/с++, и поэтому таких мелких ограничений тем более нет
                      нет, речь не о мс.

                      > внешние - минимум 6
                      Ну вот и ясно откуда короткие идентификаторы.
                      Ответить
        • Ты имел в виду акронимами? Ну тут уж извиняйте, старую собаку новым фокусам не научишь
          Ответить
            • говорить напрямую пробовал? Мол так и так, надоело это дело - сил моих нет
              Ответить
              • Пробовал. Коллеги тоже не в восторге, но политикой приходится мне заниматься.
                Он, вроде как даже соглашается, а потом опять за старое...

                И, блин, нет-бы только код так писал - отгородился абстракцией и забыл.
                Так даже на святое, на документацию замахнулся, что именования не соответсвуют...
                Ответить
                • можно еще раз поговорить, может он автоматически уже так пишет. Можно попробовать показать как вас это раздражает - общаться с ним в том стиле, в котором он пишет переменные.

                  Првт! ГдКом?
                  Ответить
                  • >может он автоматически уже так пишет
                    Если-бы...
                    Один коллега попытался писать нормально в его епархии, так быстро по ушам получил.
                    Правда коллега новичок, всего пару лет работает...

                    >общаться с ним в том стиле, в котором он пишет переменные
                    Не, на троллинг он не реагирует. Проверено.
                    У него мантия: +100 к защите от троллей...
                    Ответить
                    • Как не посмотри - мелкий тиран. Идеальное испытание для война. У любого человека есть слабые места - найди их и надави. В любом случае хуже имена он писать не станет - так почему не попробовать?
                      Ответить
        • оооо.... у нас работал один, у которого был загрузчик данных по шаблонам из CSV на оракле, но он был немного статичен, в смысле того, что максимум, что ты определял, это в какое поле какие данные грузить, и когда в последний его рабочий день, нужно было добавить новые поля в результирующую таблицу, то к полям
          ID_DATA
          ID_LOCALITY
          ID_STR
          ...
          он добавляет V_12 и V_13, а почему он их так назвал - загадка.
          мне вообще непонятно, чем он руководствуется, когда ID вначале ставит, а не в конце
          Ответить
  • >>_RoomCat

    Тур для котовъ?

    Int32 type = rows[ii].MinLength > 0 ? 3 : 2;
    j = (type == 3) ? -1 : j;

    дальше так и просится
    hui = j==-1? "hui":"pizda";

    for (Int32 ii = 0; ii < rows.Count; ii++)
    есть подозрение, что мы уже в цикле по i...
    Ответить

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

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

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


    8