Бухгалтерия / Говнокод #11837 Ссылка на оригинал

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
Функция ПолучитьКонтрольКонтрагентовВключен() Экспорт
	мПривилегированныйРежим=ПривилегированныйРежим();
	Если НЕ мПривилегированныйРежим Тогда
		УстановитьПривилегированныйРежим(Истина);
		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
		УстановитьПривилегированныйРежим(мПривилегированныйРежим);
	Иначе
		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
	КонецЕсли;	
	
	Возврат мКонтрольКонтрагентовВключен;
КонецФункции

Получение константы в в привилегированном режиме поражает. Антипаттерн Спагетти (можно обойтись двумя строками). Автор Хан Юрий Валентинович.

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

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

    • Думаете на 1С нельзя говнокодить?
      Мне надоело уже - каждый раз как читаешь - так как будто в какашку наступил. Должно быть вот так:
      Функция ПолучитьКонтрольКонтрагентовВключен() Экспорт
      УстановитьПривилегированныйРежим(Истина) ;
      Возврат Константы.КонтрольКонтрагентовВключен.По лучить()=Истина;
      КонецФункции
      Ответить
      • мой разум в принципе не может воспринимать команды и переменные на русском языке. ещё и булевые значение. это мазохизм просто, так и до психушки недалеко
        Ответить
        • Много споров об этом. Я привык уже. И так и так могу. Правда по нормальному уже хуже могу :-).
          Ответить
        • Хороший повод задуматься, что ощущают англоязычные разрабы, когда пишут код на <put_your_favorite_language_name_here> .
          Вот я беру рандомную строчку из текущего проекта:
          [выходПоток расписаниеВИдущемЦикле:[НСИдущийЦикл текущийИдущийЦикл] дляРежима:НСПоУмолчаниюИдущийЦиклоРежим];
          И я уже намного меньше понимаю, нежели когда оно было на английском.
          Ответить
        • >> мой разум в принципе не может воспринимать
          Может, это проблемы вашего разума? 🙂
          Ответить
      • А зачем =Истина?
        Функция же не называется типа КонтролироватьКонтрагентов, а "Получить...".
        Даже если тип константы вдруг изменится - логика сохранится, а там где вылетят ошибки - и так нужны будут исправления логики
        Ответить
  • Я видел полным-полно ублюдокода на одноэске и это меня просто вымораживает. КАК? Зачем? Какого дьявола эти сумасшедшие шибанутые бобры-извращенцы так делают? Хочется ходить по конторам и убивать через одного. Возможно, тогда там всё станет шелковистым.
    Ответить

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

Переведи на "PHP", guest!

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


    8