Имя: Пароль:
JOB
Работа
Помогите принять правильное решение в коллективной разработке
,
0 Старик Юзергад
 
29.05.13
12:36
1. Работает, не трогай! 38% (9)
2. Молча поправь 17% (4)
3. Не умничай 17% (4)
4. Свой вариант решения 17% (4)
5. Молча поправь и оставь свою подпись 13% (3)
Всего мнений: 24

Нашел случайно в конфе такой код, какой человек и с какой целью писал его, не знаю:

промИтогКоличество=0;
промИтогСумма=0;
промИтогСуммаБезНДС=0;

Для каждого промСтрокаТб из Состав Цикл
промИтогКоличество=промИтогКоличество+пСтрокаТб.Количество;
промИтогСумма=промИтогСумма+пСтрокаТб.Сумма;
промИтогСуммаБезНДС=промИтогСуммаБезНДС+пСтрокаТб.СуммаБезНДС;
КонецЦикла;    

ИтогКоличество=промИтогКоличество;
ИтогСумма=промИтогСумма;
ИтогСуммаБезНДС=промИтогСуммаБезНДС;

Это можно написать так:

ИтогКоличество=Состав.Итог("Количество");
ИтогСумма=Состав.Итог("Сумма");
ИтогСуммаБезНДС=Состав.Итог("СуммаБезНДС");

Помогите принять правильное решение с учетом работы в коллективе разработчиков?
1 Волшебник
 
29.05.13
12:37
Доложи руководству

Не умничай
2 ДенисЧ
 
29.05.13
12:38
7ка?
По колонкам нет (не было) галки итога? Писатель не знал фокуса получения итога по безитоговым колонкам?
3 Старик Юзергад
 
29.05.13
12:39
(2) платформа 8.2
4 nerkadry
 
29.05.13
12:39
может быть тогда платформа не поддерживала метод Итог,
в 8.0 по сравнению с 8.2 была куча недоступного в работе с массивами, например
5 Маратыч
 
29.05.13
12:40
Выстрелить в колено не предлагали?

Свой вариант решения
6 Deni7
 
29.05.13
12:40
(0) Всех ошибок не исправишь (тем более это недочет просто). Работает - и хорошо.

Работает, не трогай!
7 Старик Юзергад
 
29.05.13
12:40
(4) а может быть такое, что код 7.7 просто переписали на 8.2?
8 mikecool
 
29.05.13
12:40
возможно были условия, по которым считались итоги, потом условия удалили
9 nerkadry
 
29.05.13
12:41
(4) хотя не, посмотрел в 8.0 в СП уже есть такое
10 sda553
 
29.05.13
12:41
Автор кода предусмотрел, что в будущем может потребоваться учитывать в итоге не все строки. И сделал такой задел на это будущее
11 shuhard
 
29.05.13
12:42
(0) лучшее враг хорошего

Не умничай
12 Zapal
 
29.05.13
12:43
(0) всё не перепишешь, прояви свой талант в других местах
когда будет потребность доработки этого участка тогда и ..

Работает, не трогай!
13 MSII
 
29.05.13
12:51
Спроси у автора кода, почему так. Далее по ситуации.

Свой вариант решения
14 andreymongol82
 
29.05.13
12:56
(0)
1. Проанализируй зачем.
2. Проанализируй, что будет, если оставить, с различных точек зрений, в том числе и масштабируемости в разрезе бизнес-процессов предприяти
3. Проанализируй, что будет, если исправить (тоже с разных точек зрений)
4. Продумай еще несколько вариантов решений
5. Проанализируй их тоже
6. Сделай выводы в пользу твоего решения, и обгадь оставшиеся.
7. Напиши пространный отчет обо всем этом на несколько страниц мелким шрифтом, заголовок, наоборот - большим.
8. Сходи к руководству с этим отчетом, заяви, объясни важность и критичность
9. Напиши заявление о переводе на вышестоящую должность, так как ты достоин большего.
10. При встрече с кем-либо в коридоре тут же заявляй ему о некомпетентности своих коллег.
11. Приди к коллегам, швырни копию отчета и копию заявления к ним на стол, объяви их неудачниками.
12. Протри синяки йодом и зеленкой.
13. Сядь и успокойся.
14. GOTO 1.

Ну или как вариант, все-таки спросить автора.

Не умничай
15 Lazy Stranger
 
29.05.13
13:00
если автор неизвестен, я бы, не задумываясь, молча закомментировал бы этот "шедевр" и забыл бы сразу о нем

Молча поправь
16 noxxx
 
29.05.13
13:03
Работает, никто не жалуется - не трогай

Работает, не трогай!
17 VladZ
 
29.05.13
13:25
(0) Задумал мужик строить баню. И не может решить: строгать доски для пола или не строгать? Если строгать - можно подскользнуться и упасть. Если не строгать - можно заносу "словить". Пошел он к попу и говорит: "Посоветуй, что мне делать!". Поп подумал и сказал: "Строгай и ложи доски строганным вниз. Лучше заноза в пятку - чем сотрясение мозгов!".

Это я к тому, что реши сам и сделай, как решил. Иначе тебе всякой фигни насоветуют.
18 Старик Юзергад
 
29.05.13
13:27
(17) забил, никто не жалуется.

Работает, не трогай!
19 wowik
 
29.05.13
13:47
не нужно.

Работает, не трогай!
20 EugeniaK
 
29.05.13
13:51
(0) Если больше совсем нечем заняться, то можешь переписать.
Но лучше не лезть.

Работает, не трогай!
21 Лефмихалыч
 
29.05.13
13:57
нашел косяк, исправь.
А по поводу подписи должен быть общий стандарт, как что и когда помечать. У нас так: правишь функцию, помечай всю целиком своей фамилией и неси ответственность за ее дальнейшую работу.

Молча поправь
22 ProgAL
 
29.05.13
13:58
Кода станет меньше, но будет 3 цикла вместо одного.
23 Лефмихалыч
 
29.05.13
14:00
(22) не доказано, что выигрыш производительности перекрывает выгоды от упрощения кода, но в целом с тобой не поспоришь - будет 3 цикла
24 iomoe
 
29.05.13
14:50
(0) Нечем заняться?
25 toypaul
 
гуру
29.05.13
20:24
Замер производительности сделай. Потому что если нет итога по колонкам, то твой вариант ВОЗМОЖНО будет в 3 раза медленней. Хотя разница по времени будет мизерная. С этой точки зрения вариант с Итог смотрится красивее.

Свой вариант решения
26 Лефмихалыч
 
29.05.13
20:30
ощпе-то правильно было бы запросом все три суммы за раз получить
27 Икогнито
 
29.05.13
20:41
(26) в модуле объекта?
28 Килограмм
 
29.05.13
21:41
(21) а если другой в функцию залез, поправил и никому не сказал, а там твоя фамилия в итоге за его косяки отвечает?
29 Лефмихалыч
 
29.05.13
23:35
(28) Отличный вопрос, спасибо. Со следующей недели научим Skynet это контролировать и будем выдавать миздюли за такие выкрутасы. Возможно даже посмертно.
На самом деле по результатам косяков всегда расследование проводится и такие прецеденты обязательно выявятся вручную и виновник будет... точно знать, что он виновник и повторять не захочет.
Да и совать свои строки в чужой код ни кто не станет - каждое утро всему отелу приходит отчет о количестве строк кода и его сложности, которые (строки кода) были помещены вчера. Суешь код в чужие функции, по отчету бездельником будешь. По результатам этого отчета, правда, ни кому ни чего не делают. Пока что. Еще просто не придумали, в каких случаях и что делать, пока просто смотрим, любуемся, анализируем.
30 КапЛей
 
29.05.13
23:37
(2) в шапку складывать? :))))))
31 Лефмихалыч
 
29.05.13
23:42
(30) шось?..
32 Икогнито
 
29.05.13
23:44
(31) какой ты недогадливый. Как дела с ДНК?
33 Лефмихалыч
 
29.05.13
23:46
(32) с ДНК все ЗБС, но я уже вас обоих теперь не понимаю
34 Икогнито
 
29.05.13
23:48
(33) по смыслу (0), код, скорее всего, написан в модуле какого-то документа в процедуре ПередЗаписью()
35 Икогнито
 
29.05.13
23:49
+(34) в модуле объекта, скорее всего
36 Лефмихалыч
 
29.05.13
23:50
(34) у тебя телепатический припадок? да даже если и так, дальше чо?
37 Икогнито
 
29.05.13
23:50
(36) дальше возьми с полки пирожок
38 Лефмихалыч
 
29.05.13
23:53
(37) ты, если что-то сказать хотел, переходи уже к сути, не стесняйся
39 Икогнито
 
29.05.13
23:56
(38) реально такой непонятливый?
40 Икогнито
 
29.05.13
23:57
+(39) или ДНК не хватает? :)
41 Лефмихалыч
 
30.05.13
00:01
видимо ДНК не хватает у одного клоуна, который не в курсе, что запросом выбирать можно прямо из табличной части, не обращаясь в базу с отбором по ссылке
42 Икогнито
 
30.05.13
00:04
(41) Не, чувак, по ходу реально проблема с ДНК...
Расскажи-ка мне, как ты запросом в модуле объекта документа в процедуре ПередЗаписью() собираешься заполнить реквизиты шапки ИтогКоличество и ИтогСумма?
43 Конфигуратор1с
 
30.05.13
00:06
(42) " запросом выбирать можно прямо из табличной части, не обращаясь в базу с отбором по ссылке" не?
44 Икогнито
 
30.05.13
00:07
(43) а зачем писать так много букв, когда есть метод Итог()?
45 Икогнито
 
30.05.13
00:10
(43) и вообще, я у михалыча спрашивал ответ...
46 Лефмихалыч
 
30.05.13
00:10
(42) так ты даже не в курсе, что запросы в 1С не могут менять данные?.. тяжелый случай. Ладно, включаем режим для даунов:
1. Устанавливать значения реквизитов в ПередЗаписью я собираюсь оператором присваивания "=" (без кавычек)
2. А данные для присваивания я собираюсь в ПередЗаписью получать запросом. Все три суммы одним запросом. Из табличной части. Причем даже еще не записанного документа
47 Икогнито
 
30.05.13
00:11
(46) поздняк метаться, твой ДНК уже прикрыл Конфигуратор
48 Конфигуратор1с
 
30.05.13
00:13
(45) ну дык я его и процитировал )))
49 Икогнито
 
30.05.13
00:13
(46) Еще вопрос, а набуя, когда есть метод Итог()?

Не мешайте тока, пусть михалыч ответит.
50 Лефмихалыч
 
30.05.13
00:13
(47) иди учи матчасть, срыватель покровов
51 Икогнито
 
30.05.13
00:13
(50) иди повышай процент ДНК, учитель
52 Лефмихалыч
 
30.05.13
00:15
(49) три раза Итог() - это три разных цикла. А запрос 1 и без циклов.
3 цикла по табличной части - это по-любому медленнее, чем один запрос к ней.
53 Конфигуратор1с
 
30.05.13
00:16
ну то что есть метод итог никто не спорит) Я. как перекрещенный семерошник, сам предпочитаю метод Итог() ибо нефиг кучу кода лепить. Но есть рекомендации от 1с, которые сами разработчики типовых и нарушають (((
54 Икогнито
 
30.05.13
00:16
(52) Метод Итог() в цикле работает? Где это написано?
55 Конфигуратор1с
 
30.05.13
00:16
(52) ну так даже на таб части в тысячу строк разница несущественная
56 Лефмихалыч
 
30.05.13
00:17
(54) да, точно, там же магия, я забыл
57 Лефмихалыч
 
30.05.13
00:18
да и, если он без цикла реализован, то один запрос тем более быстрее будет, чем три
58 Икогнито
 
30.05.13
00:18
(56) когда в след раз про ДНК кому-нить пейсать будешь, хорошо подумай
59 Лефмихалыч
 
30.05.13
00:20
(58) честно говоря, я не понимаю, к чему ты клонишь
60 Конфигуратор1с
 
30.05.13
00:22
девочки, не ссорьтесь - ночь на дворе
61 Лефмихалыч
 
30.05.13
00:23
(60) ни кто не ссорится. Тут вот товарищ явно хочет мне что-то сказать, но то ли лимит слов на сегодня исчерпан, то ли в принципе он по-русски слабо разговаривает, но до сути дела мы пока еще не добрались
62 Икогнито
 
30.05.13
00:26
(59) в одной теме видел как ты человека оскорблял, намекая ему на не достаточный объем ДНК у него.
63 Лефмихалыч
 
30.05.13
00:27
во, смысл попер
(62) продолжай, не останавливайся. Что дальше?
64 Конфигуратор1с
 
30.05.13
00:29
(62)  так тебе за державу обидно?) тогда тебе надо вот Mikeware этого товарища пинать. Он по этим делам спец кого нибудь да обгадить
65 Икогнито
 
30.05.13
00:29
(63) да ничего дальше. Посмотри на себя со стороны.
66 Лефмихалыч
 
30.05.13
00:34
(65) как?!?! чо все что ли - кончился смысл? на самом интересном месте? ну блин...
67 Икогнито
 
30.05.13
00:38
(66) вот интересно, как ты думаешь, три вызова метода Итог() будут дольше отрабатывать (встроенный в платформу запрос), чем один запрос, написанный руками с источником в виде таблицы?
Ну, там в построитель запроса можно эту табличную часть отправить или еще как...
68 Лефмихалыч
 
30.05.13
00:40
(67) про построитель не угадал, он тут не нужен. Я уверен, что запрос отработает быстрее трех запросов или трех циклов.

Да, и я ни в коем случае не хотел оскорбить твое ДНК, я на самом деле просто хотел сказать, что ты неуч, но на тот момент не нашел более подходящих слов для этого
69 Икогнито
 
30.05.13
00:44
(68) фиг знает, не проверял.
Пока надстройка отработает, пока запрос интерпритируется платформой для СУБД и уйдет в SQL...

Думаю, что Итог() три раза может и быстрее отработать. Не факт.
70 Лефмихалыч
 
30.05.13
00:48
(69) ты путаешь выводы из своих ошибочных домыслов с энтимемами. Проверил бы ты, прежде чем рубашки на груди до трусьев рвать, м?
71 Икогнито
 
30.05.13
00:50
(70) хотя если говорить о Итог() в ПередЗаписью() то этой таблицы в SQL еще нет :)
72 Икогнито
 
30.05.13
00:55
+(71) Глубоко не знаю, но в модуле Менеджера появились событийные процедуры, инициализирующиеся при упоминании его.

Если предположить, что при упоминании табличной части Состав. происходит то же самое, то метод Итог() отработать должен быстрее, чем рукописный запрос. По идее :)
73 Лефмихалыч
 
30.05.13
01:00
(71) опять неверный вывод. раз можно запросом к ней обращаться, значит есть она в базе. ХОтя бы в tempdb, но есть точно.
(72) чтобы это предположить, надо сначала ликвидировать "глубоко не знаю" и доказать, что действительно "событийные процедуры, инициализирующиеся при упоминании его". Иначе это предположения на основании выводов из не доказанного и неверного посыла
74 Икогнито
 
30.05.13
01:18
(73) хватит философским словоблудием заниматься :) Спать уже надо.
75 cViper
 
30.05.13
01:19
(0) Откройте для себя код-ревью.

Молча поправь и оставь свою подпись
76 Икогнито
 
30.05.13
01:21
Ибо нефиг, это коллектив!
Могут обидеться и подумать, что ты выскочка.
А проги очень ранимые на замечания.

Работает, не трогай!
77 jsmith82
 
30.05.13
01:23
сделай чо-нибудь с кем-нибудь

Свой вариант решения
78 КонецЦикла
 
30.05.13
01:32
Если знаешь писателя - скажи что ты поправил, без свидетелей и излишних наставлений

Молча поправь
79 Escander
 
30.05.13
05:19
(0) Прекрати! Вот прям ты никогда не амнокодил!!! Работает и работает правильно... несколько медленнее... но ведь работает! Если уж так руки чешутся, то

Молча поправь и оставь свою подпись
80 Гобсек
 
30.05.13
05:33
Подобный код почти у каждого найдется. При переходе на 1С с другого языка первые процедуры выглядят достаточно коряво. Если они работают, то так и остаются без изменений.

Не умничай
81 DarkWater
 
30.05.13
15:19
Других дел нет?)

Работает, не трогай!
82 Azverin
 
30.05.13
15:21
закомментить этот код и рядом свой написать, делов то...

Молча поправь и оставь свою подпись
83 MaxisUssr
 
30.05.13
15:22
Уверен, что прав?

Работает, не трогай!
84 pumbaEO
 
30.05.13
15:28
Исправил и забыл, нафига поднимать из глубин уличного туалета фекалии?

Молча поправь
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший