मेरे पास एक टी 4 टेम्पलेट में भरने वाली काफी जटिल चीज है। मूल रूप से मैं बहुत तरहक्या टी 4 कोड और अधिक बनाने के लिए वहां कुछ भी है ... साफ?
{= foo =} अधिक पाठ की तरह कुछ ले ...
और यह एक वर्ग (देखें) में तब्दील:
public class MyView
{
public string foo{get;set;}
public string Write()
{
return [email protected]" more text...";
}
}
उत्पन्न कोड है निश्चित रूप से इससे अधिक जटिल। वैसे भी, टी 4 टेम्पलेट अभी कोड की 600 लाइनों से अधिक है और वास्तव में अप्रबंधनीय तेज़ बन रहा है। मेरा मानना है कि मुख्य समस्या कोड और "सामग्री" मिश्रण (यानी, स्थिर कोड) है। मुझे सच में यकीन नहीं है कि इस समस्या को कैसे ठीक से ठीक किया जाए (हालांकि निश्चित रूप से उत्पन्न कोड को प्रभावित नहीं करते)। मुझे टी 4 निष्पादन त्रुटियों के परीक्षण के अलावा, मेरे टी 4 कोड का परीक्षण करने के लिए यूनिट का कोई व्यवहार्य तरीका भी नहीं दिखता है। और निश्चित रूप से इसके जेनरेट कोड का परीक्षण करने का लगभग असंभव कार्य प्रतीत होता है।
क्या कोई भी "मॉडल-व्यू" प्रकार फ्रेमवर्क या तकनीक है जिसका उपयोग मैं अपने टी 4 टेम्पलेट कोड को और अधिक साफ करने के लिए कर सकता हूं?
यह एक विकल्प नहीं हो सकता है, लेकिन मैं टी 4 टेम्पलेट्स पर [Resharper टेम्पलेट्स] (http://www.jetbrains.com/resharper/features/code_templates.html) पसंद करता हूं। इसके अलावा, [Resharper] (http://www.jetbrains.com/resharper/) अन्य उपयोगों के लिए भी एक अद्भुत उपकरण है। लागत के लायक है। – TylerOhlsen
Resharper एक अच्छा उपकरण है, लेकिन टीएच के साथ रिशेर्पर टेम्पलेट की तुलना में आईएमएचओ सेब और संतरे की तुलना कर रहा है। Resharper टेम्पलेट्स टूल समर्थन के साथ कॉपी-पेस्ट एंटी-पैटर्न को बढ़ावा दे रहे हैं जिससे आपको बनाए रखने के लिए अधिक से अधिक अनावश्यक कोड बढ़ते हैं, इस प्रकार रखरखाव की लागत में वृद्धि होती है। टी 4 (और अन्य टूल्स) में अनावश्यकता कम हो जाती है जिसमें आप मेटा-प्रोग्राम लिखते हैं (जिसमें कम रिडंडेंसी होती है) जो कोड कलाकृतियों को उत्पन्न करती है (उच्च मात्रा में अनावश्यकता के साथ)। कुंजी यह है कि मेटा-प्रोग्राम और जेनरेट कोड के बीच अनौपचारिक कनेक्शन खो नहीं जाता है। – FuleSnabel