|
Типовая. Пофигу любые правила кода...Или? | ☑ | ||
---|---|---|---|---|
0
Snovy
01.08.11
✎
23:37
|
Добрался до кода:
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт Если СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда Возврат 20; ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда Возврат 10; ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда Возврат 18; КонецЕсли; Возврат 0; КонецФункции // ПолучитьСтавкуНДС() Эта функция используется во всех типовых. Нарушены все мыслимые академические правила построения условия ЕСЛИ (в начале должно быть наиболее часто встречающееся условие). Ставка 18 используется в 99% случаев, но стоит в условии последней. Никогда не используемая ставка 20% в условии стоит первой. Т.е. данная функция всегда тратит драгоценные милисекунды на проверку того, чего точно нет, а потом проверяет то, что очень редко встречается... Так теперь модно? Или время выполнения любого запроса или "второй точки" несоизмеримо больше, что на такие мелочи можно не обращать внимания? Поясните, гуру от 1С, что я перестал понимать? |
|||
1
Krendel
01.08.11
✎
23:40
|
не ной, купи лучше блейд сервер
|
|||
2
Snovy
01.08.11
✎
23:42
|
(1) Это пить можно?
|
|||
3
acsent
01.08.11
✎
23:42
|
Сделай замер на миллионе итераций
|
|||
4
GreyK
01.08.11
✎
23:43
|
Это 8ка, её дописывают китайцы на нетбуках.
|
|||
5
mikecool
01.08.11
✎
23:43
|
голосую - пофигу ))
|
|||
6
Snovy
01.08.11
✎
23:44
|
(3) Вы уже сделали такой замер?
|
|||
7
acsent
01.08.11
✎
23:44
|
(6) Зачем?
|
|||
8
Grusswelle
01.08.11
✎
23:45
|
(0) Твой вариант?
|
|||
9
GreyK
01.08.11
✎
23:49
|
(8) В (0) про поднять условие со ставкой 18 повыше.
|
|||
10
Snovy
01.08.11
✎
23:49
|
Еще круче (типовой документ Поступления товаров и услуг):
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) .... УчетНДС.СинхронизацияПометкиНаУдалениеУСчетаФактуры(ЭтотОбъект, "СчетФактураПолученный"); .... УчетНДС.СинхронизацияПометкиНаУдалениеУСчетаФактуры(ЭтотОбъект, "СчетФактураПолученный"); .... КонецПроцедуры // ПередЗаписью Это что бы наверняка? А там по три запроса в процедуре... (8) Ну хотя бы в Если сначала проверить 18, потом 10, потом все остальное... |
|||
11
Garkin
01.08.11
✎
23:53
|
(0) В момент написания функции какая ставка использовалась наиболее часто?
|
|||
12
GreyK
01.08.11
✎
23:57
|
(11) Дети рождаются, старики помирают, процедуры живут :)
|
|||
13
Asmody
01.08.11
✎
23:59
|
(0) да это цветочки! а сама процедура не смущает ни сколько?
|
|||
14
iamnub
02.08.11
✎
00:00
|
Удивлен, увидев автора темы.
Не ожидал. |
|||
15
iamnub
02.08.11
✎
00:00
|
(13)
Там функция, программист... |
|||
16
Snovy
02.08.11
✎
00:01
|
(11) Ну если это наследство беты-УПП или первой УТ, тогда "ой"... Но тем не менее... Что-то поменялось в консерваториях? Рефакторинг и оптимизация кода только на запросах, на мелочи теперь не нужно обращать внимания? Дьявол, он обычно в деталях...
|
|||
17
Snovy
02.08.11
✎
00:03
|
(14) Да в отпусках все, вот приходится самому лезть туда, куда ни в жизни не полез бы. Как все интересно... Просто хочется узнать побольше по мелочам, а то как-то отставать стал от трендов...
|
|||
18
Asmody
02.08.11
✎
00:04
|
(15) а разделение на процедуры и функции — это вообще убогая паскалевская ушлёпка.
|
|||
19
Fragster
гуру
02.08.11
✎
00:14
|
||||
20
ОбычныйЧеловек
02.08.11
✎
00:14
|
(0)что позволено юпитеру не позволено быку.
Ни одна типовая не пройдет проверку на "1С совместимо" - все правила придуманы для кого угодно - только не для 1С. |
|||
21
ice777
02.08.11
✎
00:19
|
(0) код, который тебе не виден, пожирает 99% ресурсов.)
|
|||
22
hhhh
02.08.11
✎
00:33
|
(0) всё-таки не 99%. БезНДС чаще используется.
|
|||
23
Alexandr Puzakov
02.08.11
✎
00:47
|
(0) зачем гоняться за миллисекундами, если пользователь "прироста" совершенно не ощутит. Получение ставки используется когда? Очевидно, при интерактивном изменений данных табличной части.
Для какой-такой нужды гоняться за производительностью там, где это совершенно не требуется? Дань моде? Стоит понимать, что критическими участками является код, в котором происходит чтение данных, и запись данных или массовая обработка данных. И если уж на то пошло, то в типовых есть гораздо более серьезные "прощеты", ну или как их там лучше назвать. |
|||
24
IamAlexy
02.08.11
✎
02:27
|
(0) и?
в очередной раз всем показал что 1С г.вно и писали ее идиоты? ну так предложи альтеранативу... чтобы со всех сторон было идеально... |
|||
25
Alexandr Puzakov
02.08.11
✎
03:11
|
(24) одной процедурке придумывать более стройную альтернативу многие могут, но вот стоит только делу дойти до более сложного, нежели написание одной процедуры (например, создание нового документа), как код этих самых "критиков 1С" начинает страшнеть, сыпаться и превращаться в УГ. Вот порой видишь код внедряльщиков, и думаешь: "Мама дорогая! Лучше бы я этого не видел.", и по сравнению с ним код типовых кажется вообще конфеткой.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |