|   |   | 
| 
 | Типовая. Пофигу любые правила кода...Или? | ☑ | ||
|---|---|---|---|---|
| 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С" начинает страшнеть, сыпаться и превращаться в УГ. Вот порой видишь код внедряльщиков, и думаешь: "Мама дорогая! Лучше бы я этого не видел.", и по сравнению с ним код типовых кажется вообще конфеткой.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |