[發(fā)明專利]代碼生成方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201510070808.1 | 申請(qǐng)日: | 2015-02-10 |
| 公開(公告)號(hào): | CN104657140B | 公開(公告)日: | 2018-01-09 |
| 發(fā)明(設(shè)計(jì))人: | 盧軒華 | 申請(qǐng)(專利權(quán))人: | 廣州華多網(wǎng)絡(luò)科技有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 北京三高永信知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司11138 | 代理人: | 祝亞男 |
| 地址: | 511446 廣東省廣州市番*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 生成 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種代碼生成方法及裝置。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,出現(xiàn)了越來(lái)越多諸如即時(shí)通訊、游戲等互聯(lián)網(wǎng)業(yè)務(wù),進(jìn)而也衍生出了越來(lái)越多用于處理這些業(yè)務(wù)的業(yè)務(wù)系統(tǒng)。每個(gè)業(yè)務(wù)系統(tǒng)可能會(huì)包括多個(gè)不同的功能模塊,每個(gè)功能模塊可以將所需的數(shù)據(jù)存儲(chǔ)在多張數(shù)據(jù)表中,因此,開發(fā)人員在開發(fā)該業(yè)務(wù)系統(tǒng)時(shí),需要針對(duì)每個(gè)功能模塊的多張數(shù)據(jù)表分別編寫用于描述和定位每張數(shù)據(jù)表的代碼,以便業(yè)務(wù)系統(tǒng)在運(yùn)行中能夠通過(guò)每張數(shù)據(jù)表的代碼,從每張數(shù)據(jù)表中讀數(shù)據(jù)、寫數(shù)據(jù)或者刪除數(shù)據(jù)。
而對(duì)于不同的數(shù)據(jù)表,從數(shù)據(jù)表中讀數(shù)據(jù)、寫數(shù)據(jù)或者刪除數(shù)據(jù)的過(guò)程基本相同,因此,為了提高業(yè)務(wù)系統(tǒng)的開發(fā)效率,開發(fā)人員可以通過(guò)代碼生成器,為每張數(shù)據(jù)表分別生成代碼。之后,開發(fā)人員可以根據(jù)該業(yè)務(wù)系統(tǒng)的實(shí)際需求,對(duì)生成的代碼進(jìn)行修改,完成該業(yè)務(wù)系統(tǒng)的開發(fā)。
隨著該業(yè)務(wù)系統(tǒng)的運(yùn)行,當(dāng)確定該業(yè)務(wù)系統(tǒng)中數(shù)據(jù)表的結(jié)構(gòu)不能滿足需求時(shí),開發(fā)人員可以對(duì)該數(shù)據(jù)表的結(jié)構(gòu)進(jìn)行修改,之后,再通過(guò)代碼生成器為該數(shù)據(jù)表生成新代碼,而生成的新代碼中覆蓋了開發(fā)人員之前基于該業(yè)務(wù)系統(tǒng)的實(shí)際需求進(jìn)行修改的代碼,此時(shí),為了滿足該業(yè)務(wù)系統(tǒng)的實(shí)際需求,開發(fā)人員需要再次對(duì)生成的新代碼進(jìn)行修改,操作比較復(fù)雜,降低了代碼生成效率。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種代碼生成方法及裝置。所述技術(shù)方案如下:
一方面,提供了一種代碼生成方法,所述方法包括:
當(dāng)接收到代碼生成指令時(shí),根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),判斷是否已存儲(chǔ)數(shù)據(jù)表的歷史代碼文件;
如果已存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件,則將所述歷史代碼文件轉(zhuǎn)換成第一抽象語(yǔ)法樹;
根據(jù)所述數(shù)據(jù)表標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成第二抽象語(yǔ)法樹;
根據(jù)所述第一抽象語(yǔ)法樹與所述第二抽象語(yǔ)法樹,生成所述數(shù)據(jù)表的代碼。
可選地,所述根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),判斷是否已存儲(chǔ)數(shù)據(jù)表的歷史代碼文件,包括:
根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),獲取數(shù)據(jù)表的代碼文件存儲(chǔ)路徑;
如果所述代碼文件存儲(chǔ)路徑中存儲(chǔ)有代碼文件,則確定已存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件,否則,確定沒有存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件。
可選地,所述根據(jù)所述數(shù)據(jù)表標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成第二抽象語(yǔ)法樹,包括:
根據(jù)所述數(shù)據(jù)表標(biāo)識(shí),獲取對(duì)應(yīng)的數(shù)據(jù)表屬性信息;
根據(jù)所述數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成所述數(shù)據(jù)表的標(biāo)準(zhǔn)代碼;
將所述數(shù)據(jù)表的標(biāo)準(zhǔn)代碼轉(zhuǎn)換成第二抽象語(yǔ)法樹。
可選地,所述根據(jù)所述第一抽象語(yǔ)法樹與所述第二抽象語(yǔ)法樹,生成所述數(shù)據(jù)表的代碼,包括:
從所述第一抽象語(yǔ)法樹包括的方法中,獲取與所述第二抽象語(yǔ)法樹包括的方法不同的方法;
從所述第一抽象語(yǔ)法樹包括的成員變量中,獲取與所述第二抽象語(yǔ)法樹包括的成員變量不同的成員變量;
將獲取到的方法和獲取到的成員變量添加到所述第二抽象語(yǔ)法樹中,得到新抽象語(yǔ)法樹;
根據(jù)所述新抽象語(yǔ)法樹,生成所述數(shù)據(jù)表的代碼。
可選地,所述根據(jù)所述第一抽象語(yǔ)法樹與所述第二抽象語(yǔ)法樹,生成所述數(shù)據(jù)表的代碼,包括:
從所述第二抽象語(yǔ)法樹包括的方法中,獲取與所述第一抽象語(yǔ)法樹包括的方法不同的方法;
從所述第二抽象語(yǔ)法樹包括的成員變量中,獲取與所述第一抽象語(yǔ)法樹包括的成員變量不同的成員變量;
將獲取到的方法和獲取到的成員變量添加到所述第一抽象語(yǔ)法樹中,得到新抽象語(yǔ)法樹;
根據(jù)所述新抽象語(yǔ)法樹,生成所述數(shù)據(jù)表的代碼。
另一方面,提供了一種代碼生成裝置,所述裝置包括:
判斷模塊,用于當(dāng)接收到代碼生成指令時(shí),根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),判斷是否已存儲(chǔ)數(shù)據(jù)表的歷史代碼文件;
轉(zhuǎn)換模塊,用于如果已存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件,則將所述歷史代碼文件轉(zhuǎn)換成第一抽象語(yǔ)法樹;
第一生成模塊,用于根據(jù)所述數(shù)據(jù)表標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成第二抽象語(yǔ)法樹;
第二生成模塊,用于根據(jù)所述第一抽象語(yǔ)法樹與所述第二抽象語(yǔ)法樹,生成所述數(shù)據(jù)表的代碼。
可選地,所述判斷模塊包括:
第一獲取單元,用于根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),獲取數(shù)據(jù)表的代碼文件存儲(chǔ)路徑;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣州華多網(wǎng)絡(luò)科技有限公司,未經(jīng)廣州華多網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510070808.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





