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

    −122

    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    Функция ПреобразованиеДаты(Дата) Экспорт
    Если НЕ ПустаяСтрока(Дата) Тогда	
    	ГодКраткий = Прав(Дата, 2);
    	Если 		ГодКраткий = "83" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1983";		
    		ИначеЕсли   ГодКраткий = "84" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1984";
    		ИначеЕсли   ГодКраткий = "85" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1985";	
    		ИначеЕсли   ГодКраткий = "86" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1986";	
    		ИначеЕсли   ГодКраткий = "87" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1987";	
    		ИначеЕсли   ГодКраткий = "88" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1988";	
    		ИначеЕсли   ГодКраткий = "89" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1989";	
    		ИначеЕсли   ГодКраткий = "90" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1990";	
    		ИначеЕсли   ГодКраткий = "91" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1991";	
    		ИначеЕсли   ГодКраткий = "92" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1992";	
    		ИначеЕсли   ГодКраткий = "93" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1993";	
    		ИначеЕсли   ГодКраткий = "94" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1994";	
    		ИначеЕсли   ГодКраткий = "95" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1995";	
    		ИначеЕсли   ГодКраткий = "96" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1996";	
    		ИначеЕсли   ГодКраткий = "97" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1997";	
    		ИначеЕсли   ГодКраткий = "98" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1998";	
    		ИначеЕсли   ГодКраткий = "99" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1999";	
    		ИначеЕсли   ГодКраткий = "00" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2000";	
    		ИначеЕсли   ГодКраткий = "01" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2001";	
    		ИначеЕсли   ГодКраткий = "02" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2002";	
    		ИначеЕсли   ГодКраткий = "03" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2003";	
    		ИначеЕсли   ГодКраткий = "04" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2004";	
    		ИначеЕсли   ГодКраткий = "05" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2005";	
    		ИначеЕсли   ГодКраткий = "06" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2006";	
    		ИначеЕсли   ГодКраткий = "07" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2007";	
    		ИначеЕсли   ГодКраткий = "08" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2008";	
    		ИначеЕсли   ГодКраткий = "09" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2009";	
    		ИначеЕсли   ГодКраткий = "10" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2010";	
    		ИначеЕсли   ГодКраткий = "11" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2011";					
    		КонецЕсли;
    
    ДатаЗначение = Дата(Сред(ДатаНовая,7,4),Сред(ДатаНовая,4,2),Сред(ДатаНовая,1,2));	
    Возврат ДатаЗначение;	
    КонецЕсли;
    КонецФункции

    Прихожу сегодня с утра и вижу вот такой код коллеги. Надо теперь психологически восстанавливаться.

    Запостил: i-ale, 22 Марта 2012

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

    • Пиздецблять.
      Ответить
    • взрыв мозга
      Ответить
    • 2012 года не будет, я правильно понял?
      Ответить
      • 2013-го не будет, а 2012-й-то хоть нужно было сделать!
        Ответить
      • всем известно, что конец света будет в 2038
        Ответить
        • Перейдём на 64-битный time_t, ничего страшного
          Ответить
          • некоторые встраиваемые системы нельзя "перевести", но они могут "дожить" до того времени
            Ответить
            • Автоматические системы нанесения ответного ядерного удара.
              Ответить
              • вряд ли они вообще работают на полупроводниковых элементах
                Ответить
                • А на чем тогда? На электронных лампах или на импортированных во времена СССР китайцах?
                  Ответить
                  • да, на лампах. Потому что полупроводники могут сгореть даже от слабого электромагнитного импульса, а лампы нет. Для системы, которая может стать целью ядерного удара, это критично.
                    Ответить
                    • А серъезно: я полагал что там либо реле какие-то стоят, либо полупроводники с серъезным экранированием + всё находится глубоко под землей.
                      И конечно нельзя отрицать дублирование логики на разных элементах - так часто делают в критически важных системах.
                      Ответить
                      • в СССР все было на лампах, насколько я знаю, сейчас – может и комбинируют различные способы...
                        Ответить
                        • нет, там были младшие сержанты, включенные каскадом
                          Ответить
                          • ух, не думал пойти в стендап-комики?
                            Ответить
                            • спасибо, я лучше посижу и посмотрю на вашу клоунаду с ваенными лампами =)
                              Ответить
            • Впереди ещё 25 лет, кого там не успеют обновить? Марсоход?
              Ответить
              • системы в любой технике, срок службы которой может превышать эти 25 лет.
                Например: медицинское оборудование, электроника в автомобилях.
                Ответить
    • Пацаны, как настроить размер таба на говнокоде?
      Ответить
      • попробуй в настройках переключить подсветчик кода - похоже, это GeSHi дуркует
        Ответить
      • Я в редакторе макросами заменяю табы на нужное количество пробелов.
        Ответить
      • A pleasingly rtaioanl answer. Good to hear from you.
        Ответить
    • И где начало того конца, которым начинается конец начала границы между годами, которые надо дополнять до 19 и годами, которые надо дополнять до 20?
      Вот 42 - это 1942 или 2042?
      Ответить
      • очевидно, времяисчисление начинается с года рождения автора, а что было до этого - великая тайна
        Ответить
        • А последний год?..
          Ответить
          • не успел закончиться затяжной новый год, как свалилось сначала 23, потом масленница, затем 8 - и вот наконец, скоро пасха.
            автор просто не успел проапгрейдиться - но еще время до декабря есть!
            Ответить
            • Ох уж эти ленивые вычисления
              Ответить
              • учимся у МС - у них баги (скажем, осла) фиксятся только со следующей операционкой (заплатки на дыры, "позволяющие выполнить произвольный код на машине жертвы", не считаем)
                Ответить
            • > скоро пасха
              у меня от христианских младенцев изжога
              Ответить
    • Очень усердный копипастер.
      Ответить
    • Иисус, это же ЛЕВ! Все быстро в машину!
      Ответить
    • Вот чего в 1С не хватает, так это ключевого слова Бы. И вообще, разрешить бы произвольные слова, которые не влияют на построение программы. Т.е. зарезервировать все частицы, предлоги и т.п. Замечательный язык бы получился.
      Ответить
    • Конструкция с Если можно свернуть до строчки. И будет работать ещё полвека :)
      Ответить
    • показать все, что скрытоvanished
      Ответить

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