Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​Немножко вне рутины...

25.05.17 16:39
Re: ​Немножко вне рутины...
 
Murr патриот
Murr
в ответ AlexNek 25.05.17 15:46

я не держу все нити в голове.

-----

Основная проблема в шаблонах - объем кода и сложность логики генерации.

Любое сокращение рассматриваемого объема кода или упрощение логики генерации - есть дело полезное и оправданное.

Потому код режется на более-менее понятные куски и пихается в разные шаблоны - до уровня понимабельности.

Когда все разобрано - надо собрать порожденный текст в кучку.


Так вот то что обсуждается - каким образом уменьшить затраты на собирание этого текста.

Затраты есть трудовые - количество времени на внесение изменений в существующие шаблоны.

И затраты есть технические - количество задействованных стреамов, памяти и общее время исполнения.


Когда ты, или кто еще, предлагаешь вариант имплементации Я больше всего думаю об том, насколько больше/меньше ручной работы потребуется в случае внесения изменений. Во вторую очередь - как оно отразится на ресурсах системы.


Вот тебе и было предложено оценить трудозатраты в предлагаемом тобою варианте. Т.е. вместо:


<#@ template language="C#" inherits="Templates.Sql.TSqlTemplateBase" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>

WITH A AS ( <# GetResult("B2"); #> )

SELECT * FROM A



написать что-то вида:


<#@ template language="C#" inherits="Templates.Sql.TSqlTemplateBase" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<# writer.StoreData(typeof(B2)) // B2 tut, odnako, nedostupno - est' IB...
#>

WITH A AS ( <# string temp = b2.TransformText(); stream.Write(temp); #> ) <# // tut ne slozhno, no nado pojasnit' kuda budet pisat'sja... #>

SELECT * FROM A <#+ new StreamWriter stream { get { return base.SW; } } // :) #> // что будет на вyходе?

Ну да - глупостей Я там намеренно налепил немеряно... и мог бы добавить и еще...

Но это чисто для индикации того, что код шаблона нужен как можно более простым, с удалением всего что мешает понимать каким будет результат.

 

Перейти на