Имя: Пароль:
1C
1С v8
Стиль написания кода
, , , , ,
0 В тылу врага
 
26.04.13
13:10
1. Плохо 38% (22)
2. Отлично 22% (13)
3. Пойдет 17% (10)
4. Мне пох 17% (10)
5. Хорошо 5% (3)
Всего мнений: 58

Что вы скажите о стиле кода:

Возврат Запрос.Выполнить().Выгрузить()[0].СуммаДолга;
6 МихаилМ
 
26.04.13
13:13
не вясните профилеровщиком, какой метод ресурсоемкий

Плохо
7 shuhard
 
26.04.13
13:13
(0) руки резать

Плохо
10 GANR
 
26.04.13
13:14
Один оператор - одна строчка!

Плохо
16 jsmith82
 
26.04.13
13:18
Сумма = 0;
Выборка = Запрос.Выполнить.Выбрать();
Если Выборка.Следующий() Тогда
Сумма = Выборка.Сумма;
КонецЕсли;
Возврат Сумма;

Плохо
17 Maxus43
 
26.04.13
13:18
Даже если работает - то плохо, ибо копрокод. Код должен красив и гармоничен

Плохо
25 Лефмихалыч
 
26.04.13
13:20
хуже только, если на это гогно что-нибудь разделить без проверки на ноль

Плохо
27 andreymongol82
 
26.04.13
13:20
(0) при таком гм... стиле, есть вероятность ошибик

Плохо
51 Джинн
 
26.04.13
13:30
Быдлокод

Плохо
60 Полотенчик
 
26.04.13
13:35
(28) зачем специально проверять Результат.Пустой(), а затем брать первый элемент, если выборкой Следующий() уже будет понятно что результат не пустой?

(40) зачем таким образом создавать таблицу значений, функционал которой использоваться не будет?
имхо оптимальнее делать выборку, а не выгрузку

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
  Возврат Выборка.СуммаДолга;
Иначе
  Возврат 0;
КонецЕсли;

Плохо
62 Wobland
 
26.04.13
13:35
строк может не быть совсем

Плохо
86 VladZ
 
26.04.13
13:54
Плохо. Код должен быть не только "коротким и понятным", но и максимально надежным.

Плохо
92 badboychik
 
26.04.13
14:01
У меня так (когда надо всю таблицу а не поле):

   Результат = Запрос.Выполнить();
   Если Результат.Пустой() Тогда
       Отказ = Истина;
       Сообщить("Не найдены затраты на выпуск полуфабрикатов");
       Возврат Неопределено;
   Иначе
       Возврат Результат.Выгрузить();
   КонецЕсли;

Плохо
104 megabax
 
26.04.13
14:49
Правльно в 1 сказали, если запрос пустой, то вывалится с ошибкой. Кто так пишет, надо пальцы пообрывать!!!
Надо так:
ТЗ=Запрос.Выполнить().Выгрузить();
если ТЗ.Количество()>0 тогда
  Возврат ТЗ[0].СуммаДолга;
иначе
  //что то делать на случай если запрос пустой
конецесли;

Плохо
113 Hawk_1c
 
26.04.13
15:04
Плохо.

Плохо
124 n0ther
 
26.04.13
15:19
для удобства чтения кода, надо еще и переменные "правильно" называть

Возврат з.Выполнить().Выгрузить()[0].сд;

Плохо
127 rs_trade
 
26.04.13
15:27
(124)

инд = МоиСуперФункции.ПолучитьИндексСтрокиЗапроса();
 
   .......

Возврат з.Выполнить().Выгрузить()[инд].сд;

Плохо
128 JesteR
 
26.04.13
15:32
(3)Если такое выполнится в транзакции, то она отвалится.

Плохо
129 NcSteel
 
26.04.13
15:42
Плохой код.

Плохо
140 wowik
 
26.04.13
16:24
на специалиста не сдашь.

Плохо
158 Mafoni
 
26.04.13
19:02
я бы сказал отвратительно

Плохо
161 фобка
 
26.04.13
19:39
писать в одну строчку - продвинутый быдлокод

Плохо
313 pavig
 
28.04.13
12:10
(92) тоже так делаю.
(0) - плохо.

Плохо
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.