您好,登錄后才能下訂單哦!
關(guān)于自動生成代碼工具的構(gòu)想
摘要: 軟件技術(shù)的應(yīng)用越來越廣泛,為降低編程入門門檻,提高編程效率,文章設(shè)想實(shí)現(xiàn)一款自動生成代碼的工具。
關(guān)鍵詞:代碼自動生成;模板;智能
隨著軟件進(jìn)入人類社會以來,軟件產(chǎn)品需求一直處于增長的狀態(tài) 面對如此大的軟件需求.如何提高軟件的生產(chǎn)效率。降低軟件開發(fā)的周期與成本,便成為軟件產(chǎn)業(yè)界所關(guān)注的焦點(diǎn), 為此業(yè)內(nèi)人士提出了兩種解決方案。 一是采用更高等級的開發(fā)語言來提高開發(fā)的效率,二是采用構(gòu)件和復(fù)用技術(shù)。 而源代碼自動生成技術(shù)可以說構(gòu)件和復(fù)用技術(shù)的核心與基礎(chǔ)。
源代碼自動生成技術(shù)的應(yīng)用領(lǐng)域相當(dāng)?shù)膹V泛,從嵌入式代碼的生成到軟件工程中UML圖的產(chǎn)生都發(fā)揮了它重要的作用。在商業(yè)領(lǐng)域,在代碼自動生成技術(shù)上走得最遠(yuǎn)的恐怕就是微軟了。從很久以,微軟的各種開發(fā)工具(甚至包括像0ffice這類非嚴(yán)格意義上的開發(fā)工具)就都提供了豐富的代碼自動生成功能。這些功能體現(xiàn)在各種各樣的開發(fā)向?qū)?,如著名?/span>MFC應(yīng)用程序框架、VisualBasic的“所見即所得”開發(fā)環(huán)境等等本文根嵌入式方面的實(shí)際需求設(shè)計并實(shí)現(xiàn)了一種基于模板的代碼自動生成工具。它將被應(yīng)用到嵌入式組件中去, 該工具是使用基于XML描述的模板。用XMLSchema來定義文法,并使用專門的詞法分析器來分析模板。
1系統(tǒng)設(shè)計
本工具采用了一種基于模板語言的源代碼自動生成技術(shù), 它能夠通過用戶定制或指定的模板來生成個性化的代碼。這里所說的模板是用戶想要生成的代碼的原型,它代表了代碼生成過程中的共性 。共性是指在代碼生成過程中已經(jīng)確定的那部分,即不需要進(jìn)行修改的那部分代碼。而與之相對的則是可變性。所謂可變性是指在代碼生成過程中需要用戶根據(jù)自己需要進(jìn)行配置的那部分代。具體到工具內(nèi)部,主要由三個部分組成:模板生成、模板驗證解析、代碼生成。源代碼生成工具的工作模型。
1.1模板生成
模板生成部分主要完成的功能是將已有的源代碼轉(zhuǎn)換成為可以供用戶配置的模板,而如何標(biāo)記原始的代碼是實(shí)現(xiàn)模板生成部分功能的關(guān)鍵,經(jīng)過多方面的研究與比較本工具采用了XML語言來標(biāo)記現(xiàn)有的源代碼。
1.2模板驗證解析
模板驗證解析部分主要完成的功能是驗證導(dǎo)人模板文件的正確性和解析模板文件 。模板的解析主要是對XML模板文件進(jìn)行分析之后再將其以可視化的形
式顯示。 由于C#語言和XML良好的兼容性,可以較方便地運(yùn)用已有的XML相關(guān)類完成。而對于模板的驗證是對模板文件的正確性的保證 由于模板文件本身就是XML文件,故可以采用XML的驗證方法。 目前有2種主要的
XML驗證方法,一種是DTD.一種是XML Scheme。
1.3代碼生成
代碼生成部分主要完成的功能是將用戶配置后的模板文件轉(zhuǎn)化成為源代碼。 在工具將模版轉(zhuǎn)換成為源代碼之前用戶需要對XML模板文件進(jìn)行配置,考慮到簡潔性和易用性,本工具采用了圖形化的界面來配置模板。XML與c#中的Treeview樹型控件有著非常好的兼容性。因此使用Treeview控件和導(dǎo)入的XML模板進(jìn)行綁定。利用C#中已有的XML相關(guān)類進(jìn)行對模板的分析,并且將分'析的結(jié)果通過 eview控件顯示成樹型的結(jié)構(gòu)。其中可以修改的變量將顯示成為樹型結(jié)構(gòu)中的一個節(jié)點(diǎn)。對于用戶來說模板文件和具體代碼是不可見的。他所看到的只是可以配置的變量。將配置后的模板轉(zhuǎn)化為源代碼的過程實(shí)質(zhì)上是模板生成的逆過程,通過對模板文件的解析和提取就可以得到需要的源代碼。
1.4結(jié)束語
文中論述了一個w i n do w s平臺上的源代碼自動生成工具的設(shè)計和實(shí)現(xiàn),它的功能強(qiáng)大,使用方便,效率高,既具有一定的先進(jìn)性又具有很好的實(shí)用性。其適用于各種嵌入式組件,可以極大的減少重復(fù)代碼的編寫,提高開發(fā)人員的效率。
【參考文獻(xiàn)】
【1】胡海靜,王育平.XMl技術(shù)精萃[M】.北京:機(jī)械工業(yè)出版社,2002:50—53.
【2】Mark Birbect.XML高級編程[M】.北京:機(jī)械工業(yè)出版社,2002:22—27.
【3】】唐大仕.C#程序設(shè)計教程【M】.北京:清華大學(xué)出版社,2001:35-52.
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。