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

    −34

    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
    if (name == "Паспорт гражданина Российской Федерации" || name == "Паспорт гражданина СССР")
    {
    	if (name == "Паспорт гражданина Российской Федерации")
    	{
    		return "Паспорт РФ";
    	}
    	else
    	{
    		return "Паспорт СССР";
    	}
    }
    else
    {
    	return name;
    }

    Описание метода: "Сокращает имя документа".

    Запостил: vladdy-moses, 26 Января 2017

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

    • В чем говно? Нормально же, код рабочий
      Ответить
      • В порядке аргументов оператора "=="
        Обязательно нужно указывать константу в левой части выражения:
        "Паспорт гражданина Российской Федерации" == name
        В случае опечатки "=" вместо "==", программа не скомпилируется, потому что нельзя присвоить литералу. Компилятор проверяет программиста.
        Ответить
      • Код не поддерживает ВНЖ, РВП и пасспорт моряка
        Ответить
    • Technical post. RSS fixed.
      Ответить
    • Сокращает жизнь того, кто читает этот метод.
      Ответить
      • Ну нет. Тут же можно было регулярку вкорячить, сокращало бы эффективнее.
        Ответить
        • switch!
          кстати, бля, свитч бы тут норм зашел бы
          Ответить
          • Посчитать sha1 всех констант типа "Паспорт гражданина Российской Федерации" и сделать switch по sha1(name)?
            Ответить
            • Видел проект на плюсах, где люди, разбирая какой-то свой формат, кастовали четыре байта строки в инт и свитчились по нему.
              Ответить
              • > кастовали четыре байта строки в инт и свитчились по нему
                Отдалённо напомнило http://govnokod.ru/12611
                Ответить
              • Не вижу ничего криминального. Каст четырёх байтов в строку — скорее всего, вообще атомарная операция. А ко-ко-конпелятор автоматически оптимизирует свитч. В результате получится намного быстрее, чем тупо сравнивать все строки полностью.

                Правда, тут такой номер не пройдёт: тут же начала всех строк одинаковые.
                Ответить
          • норм зашел в твоё очко, проверь.
            Ответить
    • Я все понял. Это критическая секция и неблокирующая синхронизация.
      Ответить

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