Имя: Пароль:
1C
 
Про самодокументируемость кода:
,
0 Fragster
 
гуру
14.10.16
11:39
1. Другой вариант (какой?) 55% (6)
2. Второй вариант 27% (3)
3. Первый вариант 18% (2)
Всего мнений: 11

Что лучше:

Вариант 1:

Процедура ПередЗаписью()
....
  // тут может быть комментарий про необходимость, если условие не самодокументируемое (типа статус = НужныйСтатус)
  Если НеобходимоЧтоТоСделать() Тогда
    ЧтотоСделать();
  КонецЕсли;
....
КонецПроцедуры

Вариант 2:

Процедура ПередЗаписью()
....
  // тут может быть комментарий про необходимость, и он должен быть всегда
  ЧтотоСделатьПриНеобходимости();
....
КонецПроцедуры

Процедура ЧтотоСделатьПриНеобходимости()
  Если Не НеобходимоЧтоТоСделать() Тогда
    Возврат;
  КонецЕсли;
....
КонецПроцедуры
1 Timon1405
 
14.10.16
11:42
НеобходимоЧтоТоСделать= НеобходимостьЧтоТоСделать();
//тут если что ее отладке можно переопределить
Если НеобходимоЧтоТоСделать Тогда
    ЧтотоСделать();
КонецЕсли;

Другой вариант (какой?)
9 novichok79
 
14.10.16
11:45
документирую для себя в самых необходимых случаях, например:
//а с чего бы это так?
//требования заказчика из ТЗ:

пытаюсь делать код, который бы содержал человеческие названия процедур и переменных (а не а, б, в).

Другой вариант (какой?)
19 ЧеловекДуши
 
14.10.16
11:57
Питничная ветка :)

Другой вариант (какой?)
24 su_mai
 
26.10.16
08:30
(0) Флаг должен быть переменной НеобходимоЧтоТоСделать, а не результатам функций НеобходимоЧтоТоСделать(). Если потребуется проверить код в отладчике, то нет возможности понять какое на самом деле вернул значение метод НеобходимоЧтоТоСделать(), так как данные в ИБ могли измениться пока вы думали. Может так?

Другой вариант (какой?)
27 Лефмихалыч
 
26.10.16
09:16
(0) самодокументируемость - you're ddoing it wrong!
надо вот так:


Если НекоеУсловиеВыполняется() Тогда
   ЧтоТоСделать();
КонецЕсли


// например
Если ДостпунаАвтооплата(ЗаказПоставщику) Тогда
   СоздатьЗаявкуНаОплату();
КонецЕсли;


во всех твоих вариантах название условия содержит  не только условие и то, что к нему не относится.

Другой вариант (какой?)
28 Дарлок
 
26.10.16
09:27
(0)
второй вариант хуже
вложенность нужно уменьшать, а не создавать искусственно. в мире правит ООП, а вы все пишите, как старые дряхлые деды во времена фортрана

Другой вариант (какой?)
Программист всегда исправляет последнюю ошибку.