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

0

  1. 1
  2. 2
  3. 3
Если Конт.Сумма <> КонтСумма Тогда
    Конт.Сумма = КонтСумма;
КонецЕсли;

Встретил в типовой конфигурации одной из небольших фирм-франчайзи. Много думал ...

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

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

  • Воткнули для отладки, потом убрать забыли.
    Ответить
    • А почему было просто не написать одной строкой: Конт.Сумма = КонтСумма; ?
      Какой тайный смысл несёт в себе проверка условия?
      Ответить
      • скорее всего планировалось, что на месте этого присвоения, будет какая-то операция:
        - сообщить пользователю, что он мудак
        - сообщить начальству, что у кого-то руки из жопы
        - отравить этот отчёт в налоговую

        а сейчас стоит: "у нас чот не сходится?: Тссс... оно всё сходится, то вам показалось..."
        Ответить
        • думаю просто в 1С никогда не слышали о ассертах
          или скорее всего ничего не планировалось
          ведь это 1С, детка.
          Ответить
      • Блин, для отладки. Чтобы пославить точку прерывания, которая сработает только по условию.
        Ответить
  • Это обход бага 1С. Такая конструкция используется для того, чтобы признак модифицированности формы устанавливался только в том случае, когда значение в контексте действительно изменяется (в отличие от случая, когда присваивается то же значение, которое было).

    Это отнюдь не говнокод, это тест на профпригодность 🙂
    Ответить
    • +1
      Рад что среди 1С програмистов остались люди с головой.
      Ответить
    • Ээээ, а позвольте узнать, что такое "Конт". Предполагаю что контрагент, но какое тогда отношение сумма контрагента имеет к модифицированность формы?
      Ответить
    • С чего вдруг это баг? Присвоение было? Было. Форма модифицирована? А то ж!
      Ответить
    • перевожу с 1С на русский: чтобы сеттер с побочным эффектом зря не дергать
      Ответить
      • >перевожу с 1С на русский
        Сурово.

        Ну а сахарок в виде неявных сеттеров чудесным образом превращается в такое.
        Короче говно в языке.
        Ответить
  • Если так не делать, то при каждом закрытии диалога документа пользователю придется подтверждать запись в базу. Нормальный код.
    Ответить

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

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

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


    8