Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Предприятие 7.7]

Влияют ли комментарии и пустые строки на производительность

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №1
 
06.04.2011 16:37

"По сабжу: в "наследство" досталась самописьная, а вернее серьезно изувеченная, ТиС. Глобальный модуль если уж не кишит, то конкретно прокомметирован, например:<br> <br><br><pre>...// Определяем Сумму по документу<br>Если Конт.Валюта=Рубли Тогда<br>// Документ рублевый<br>СумПогаш=Конт.ИтогСумма/КурсКред;<br>Иначе // Документ валютный<br>СумПогаш=(Конт.ИтогСумма*Конт.Курс)/КурсКред;<br>КонецЕсли;<br><br>Если НЕ(СумПогаш=0) Тогда<br>       РегистрУчета.Клиент=Клиент;<br>       РегистрУчета.КредДокумент=Конт.ТекущийДокумент();<br>       РегистрУчета.Долг=СумПогаш;<br>// Для Накладных за НАЛ делаем одновременно Приход и Расход, чтобы<br>// факт движения товара и денег отразился в регистре.<br>Если Конт.ТипНакладной=Перечисление.ТипыНакладных.Расходная Тогда<br>// Для расходной накладной<br>... </pre><br><br> Встречаются так же конструкции типа:<br><br><br><pre>//****************************************************************************************<br><br>//------------------ </pre><br><br>и по 3-5 пустых строк.<br> <br>Так же довольно много просто закомментрованных процедур.<br> <br>Может ли это как-то влиять на производительность базы или скорость ее загрузки."

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №2
 
06.04.2011 16:43

У 1С все возможно, но на мой взгляд - пусть лучше будут комментарии, чем их отсутствие ...

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20955
Пост №3
 
06.04.2011 16:50

По моему только на загрузку, так как у 1С не компилятор, а интерпретатор. Ну или наоборот, т.е. она все делает на лету.

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №4
 
06.04.2011 16:58

Мне вот то-же, после открытия темы, в голову пришла мысль о том, что md это ведь текстовый контейнер и грузиться от в память при загрузке базы и соответственно чем в нем больше мусора, а не только полезного кода тем он дальше будет грузиться.<br> <br>Да и по поводу копиляции или интерпритации, все-же компиляция модуля в память при загрузке и потом уже этот код выполняется движком 1С.

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20955
Пост №5
 
06.04.2011 17:07

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

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №6
 
06.04.2011 17:23

"Я не против комментариев, правда иногда они бываю не нужны, сейчас не могу привести пример, нет достпа к той конфигурации, 8 строк описания на 3 стоки волне понятного кода. Я против "тучи" пустых строк и многократных разделителей типа //******************************<br>Вот еще реальный кусок:<br><br><br><br><br><br><pre>КонецПроцедуры<br><br>//*********************************************************************<br>//*********************************************************************<br>//*********************************************************************<br>Процедура ДвиженияРегНакладныхСкидка(Конт) Экспорт<br></pre><br><br><br><br><br><br><br><br> <br><br><br><br><pre>А так же закоментированых процедур и функция типа//-----------------------------------------------<br>//Процедура Выч_суммы_наклhjhjh(Конт) Экспорт<br> //       Пром=Конт.Товар;<br> //<br>// Конт.Сумма=Окр(Конт.Цена*Конт.Количество*Конт.Коэффициент,2);<br>// Конт.НДС=Окр(Конт.Сумма*ПроцентНДС(Пром.СтавкаНДС)/(100+ПроцентНДС(Пром.СтавкаНДС)),2);<br>// Если Конт.Вид() <> "Счет" тогда<br>//       //Конт.СуммаБезНДС=Конт.Сумма-Конт.НДС;<br>///       Конт.ЦенаБезНДС=Окр(((Конт.Цена*100)/(100+ПроцентНДС(Пром.СтавкаНДС))),2);<br>//       Конт.СуммаБезНДС=Окр(Конт.ЦенаБезНДС*Конт.Количество*Конт.Коэффициент,2);<br>// КонецЕсли;<br>//       Конт.НДС=Конт.СуммаБезНДС*(ПроцентНДС(Пром.СтавкаНДС)/100);<br>////       Конт.НДС=Конт.Цена*Конт.Количество*Конт.Коэффициент-Конт.СуммаБезНДС;<br>// Конт.Сумма=Конт.СуммабезНДС+Конт.НДС;<br>//КонецПроцедуры<br></pre><br><br><br><br>или<br><pre>Пр­оцедура Контроль_Цены(Конт) Экспорт<br>//Если (Конт.Товар.Выбран()>0) Тогда<br>// Если (Конт.Товар.Прих_Цена>Конт.Цена) Тогда<br>// Сигнал();<br>// Предупреждение("Цена ниже закупочной! "+" "+Конт.Товар.Наименование+" = "+Конт.Товар.Прих_Цена+Конт.Товар.ВалютаЗакуп+". !!!");<br>// КонецЕсли;<br>//Иначе<br>// Сигнал();<br>// Предупреждение("Не выбраны Товар");<br>// Конт.Цена=0;<br>//КонецЕсли;<br>// Выч_суммы_накл(Конт);<br>КонецПроцедуры<br></pre>"

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20955
Пост №7
 
06.04.2011 17:49

"Многое зависит от человека, который пишет код! Я стараюсь писать комментарии только в местах где объясняется для чего нужен этот код, чтобы потом было легче разобраться, зачем я написал всю эту ересь! ;)"

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №8
 
06.04.2011 18:04

"И вот тут я с Вами полностью согласен ;)"

Кодер
читатель
офлайн
Дата регистрации: 26.12.2006
Сообщений: 44
Пост №9
 
07.04.2011 07:10

Коментарии это удобно, вот недавно открыл внешний отчет который нам дорабатывали, так там сплошной текст. Даже если очень сильно захочешь что либо исправить не разберешься. Разобраться может тот кто писал данный код и то я сомневаюсь:)

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №10
 
07.04.2011 11:29

"> так там сплошной текст.<br>Это еще ничего, а как вам смесь русского и аглицкого кода?<br><br><br><pre> IF Тов.ВидТовара=Перечисление.ВидыТоваров.Комплект Тогда       Таб.AttachSection("Top|Appendix");       Кмп=СоздатьОбъект("Справочник.Комплектация");       lines="       В составе:"+LineBreak;       Кмп.ИспользоватьВладельца(Тов);       Кмп.ВыбратьЭлементы();       Пока Кмп.ПолучитьЭлемент()>0 Цикл       line = НаименованиеТовара(Кмп.Товар)+" - " + Кмп.Количество+" "+ Кмп.Товар.БазоваяЕдиница+LineBreak;       lines = lines + line;       КонецЦикла;       if flag = 1 then       Таб.ВывестиСекцию("Small|Basis");       Таб.AttachSection("Small|Appendix");       else </pre>"

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация