• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種對程序代碼進行重構操作組合的方法技術

    技術編號:9849741 閱讀:171 留言:0更新日期:2014-04-02 16:30
    本發明專利技術提供一種對程序代碼進行重構操作組合的方法,包括以下步驟:步驟a:重構操作組合初始化步驟;步驟b:抽取前置、后置關鍵程序代碼元素步驟;步驟c:標記依賴關系步驟;步驟d:標記可交換關系與重排序步驟;步驟e:標記可優化能力步驟;步驟f:優化操作步驟;步驟g:導出優化后的程序代碼步驟;其中所述依賴關系包括完全依賴關系、完全部分依賴關系、部分完全依賴關系、部分部分依賴關系;其中所述可交換關系包括無條件交換關系、條件交換關系。該方法具有重構效率高、處理靈活、優化徹底等特點。

    【技術實現步驟摘要】
    一種對程序代碼進行重構操作組合的方法
    本專利技術涉及代碼重構技術,尤其是一種對程序代碼進行重構操作組合的方法。
    技術介紹
    重構是指在不改變“軟件之可察行為”的前提下,通過調整程序內部結構設計,讓代碼更容易理解、更容易修改,重構為極限編程、快速編程等提供了保障與支持,但關于重構工具的研究卻還停留在探索階段。重構操作工具有eclipse(針對Java程序的集成開發工具)重構等,但這類工具嚴重地依賴于代碼工作者的指令操作,運行效率低。代碼重構過程往往不是獨立進行的,重構經常伴隨著多個步驟的同時進行,合理地組織多個重構操作之間的組合執行順序是重構執行的關鍵。本專利技術研究一種對程序代碼進行重構操作組合的方法,為智能化重構操作奠定了基礎,具有重構效率高等特點。
    技術實現思路
    本專利技術提供一種對程序代碼進行重構操作組合的方法,包括以下步驟:步驟a:重構操作組合初始化步驟;載入待優化的重構操作組合,讀取用戶自定義的初始重構操作組合配置,所述初始重構操作組合滿足所有前置條件檢查要求,對所有前置條件合法性進行驗證,確保初始重構組合可正確運行;步驟b:抽取前置、后置關鍵程序代碼元素步驟;根據所述用戶自定義的初始重構操作組合,抽取組合中各重構操作的前置關鍵程序代碼元素與后置關鍵程序代碼元素;所述前置關鍵程序代碼元素代表重構操作作用前的程序代碼元素狀態,所述后置關鍵程序代碼元素代表重構操作作用后的程序代碼元素狀態;步驟c:標記依賴關系步驟;通過遍歷重構操作組合中的具體重構操作,同時分析初始重構組合的前置和后置關鍵程序代碼元素,如果一對重構操作中的后者前置條件滿足依賴于前者重構執行的結果,則用標識來標記各重構操作間的依賴關系;步驟d:標記可交換關系與重排序步驟;如果一對重構操作中的前者與后者順序交換后,重構操作組合執行的結果不變,則認為這兩個重構操作間存在可交換的關系,用標識來標記各重構操作間的可交換關系;并根據各重構操作間的可交換關系對重構操作組合進行交換操作,即對重構組合進行重排序操作后得到新重構操作組合;步驟e:標記可優化能力步驟;對所述新重構操作組合進行步驟c操作,調整所述新重構操作組合間的依賴關系,由所述新重構操作組合及各重構操作間的依賴關系,通過重構組合優化規則得出所述新重構操作組合的可優化能力,并用標識進行標記;步驟f:優化操作步驟;將重構組合優化規則應用于所述新重構操作組合進行優化操作;如果優化操作進程中斷或阻斷,則退回初始狀態避免死循環操作;步驟g:導出優化后的程序代碼步驟;導出對所述新重構操作組合優化操作后的程序代碼。其中所述依賴關系包括完全依賴關系、完全部分依賴關系、部分完全依賴關系、部分部分依賴關系。其中所述可交換關系包括無條件交換關系、條件交換關系。其中所述重構組合優化規則包括組合壓縮規則和歸并重組規則。本專利技術的技術效果是:1、重構效率高,處理過程靈活,重構組合高度簡化,重構操作復雜度大大降低;2、支持大量重構操作同時執行,適用于批量的重構操作,重構性能明顯提升;3、設定了重構組合優化規則,優化實施自左向右,過程清晰,系統資源占用少、出錯響應速度快;4、實現過程簡單,可行性強,易操作、易上手,為自動化、智能化重構奠定了良好的基礎。附圖說明圖1為本專利技術的代碼重構操作步驟圖。圖2為本專利技術的總體架構流程圖。具體實施方式如圖1所示,本專利技術的代碼重構操作步驟圖,本專利技術提供的一種對程序代碼進行重構操作組合的方法,包括步驟:步驟a:重構操作組合初始化步驟;載入待優化的重構操作組合,讀取用戶自定義的初始重構操作組合配置,所述初始重構操作組合滿足所有前置條件檢查要求,對所有前置條件合法性進行驗證,確保初始重構組合可正確運行;步驟b:抽取前置、后置關鍵程序代碼元素步驟;根據所述用戶自定義的初始重構操作組合,抽取組合中各重構操作的前置關鍵程序代碼元素與后置關鍵程序代碼元素;所述前置關鍵程序代碼元素代表重構操作作用前的程序代碼元素狀態,所述后置關鍵程序代碼元素代表重構操作作用后的程序代碼元素狀態;步驟c:標記依賴關系步驟;通過遍歷重構操作組合中的具體重構操作,同時分析初始重構組合的前置和后置關鍵程序代碼元素,如果一對重構操作中的后者前置條件滿足依賴于前者重構執行的結果,則用標識來標記各重構操作間的依賴關系;步驟d:標記可交換關系與重排序步驟;如果一對重構操作中的前者與后者順序交換后,重構操作組合執行的結果不變,則認為這兩個重構操作間存在可交換的關系,用標識來標記各重構操作間的可交換關系;并根據各重構操作間的可交換關系對重構操作組合進行交換操作,即對重構組合進行重排序操作后得到新重構操作組合;步驟e:標記可優化能力步驟;對所述新重構操作組合進行步驟c操作,調整所述新重構操作組合間的依賴關系,由所述新重構操作組合及各重構操作間的依賴關系,通過重構組合優化規則得出所述新重構操作組合的可優化能力,并用標識進行標記;步驟f:優化操作步驟;將重構組合優化規則應用于所述新重構操作組合進行優化操作;如果優化操作進程中斷或阻斷,則退回初始狀態避免死循環操作;步驟g:導出優化后的程序代碼步驟;導出對所述新重構操作組合優化操作后的程序代碼。如圖2所示本專利技術的總體架構流程圖,本專利技術通過載入待優化的重構操作組合并讀取用戶自定義的組合初始配置,對初始重構組合進行一系列的分析處理操作,通過遍歷探索操作間關系發現操作間的潛在可優化性,重排重構操作位置并對可優化的重構操作對自左向右依次應用相應的優化規則,進而簡化重構復雜性縮短重構操作步驟,最終得到優化的重構操作組合。1、重構操作關系推導:首先,根據用戶自定義初始組合推斷出各個重構操作的前置關鍵程序代碼元素與后置關鍵程序代碼元素。前置關鍵程序代碼元素可以代表重構操作作用前的待重構程序代碼元素狀態,后置關鍵程序代碼元素可以代表重構操作作用后的待重構程序代碼元素狀態,重構操作單元的本質是將前置關鍵程序代碼元素轉換為后置關鍵程序代碼元素。例如:重構操作“重命名方法MethodName1為方法MethodName2”,則前置關鍵程序代碼元素為:MethodName1,后置關鍵程序代碼元素為:MethodName2。其次,遍歷探索并標記重構操作間的依賴關系。在一對重構操作中,若后者前置條件的滿足依賴于前者重構執行的結果,則稱這兩個重構操作間存在依賴的關系。兩重構操作間的依賴關系有四種:完全-完全依賴(后者前置條件剛好完全依賴于前者重構執行結果)、完全-部分依賴(后者前置條件完全依賴于前者重構執行結果的一部分)、部分-完全依賴(后者前置條件不僅依賴前者重構執行的結果,還依賴其它重構執行的結果)和部分-部分依賴(后者前置條件依賴前者重構執行結果的一部分,還依賴其它重構執行的結果)。然后,由初始重構操作組合的依賴關系分析推導重構操作間的交換關系。在一對重構操作中,若前者與后者的順序交換后,重構操作組合執行的結果不變,則稱這兩個重構操作間存在可交換的關系。兩重構操作間的交換關系有兩種:無條件交換(前者與后者直接交換順序,不用進行任何其它處理)和條件交換(前者與后者交換后,需相應地修改因后者前置而導致前者中受影響的關鍵程序代碼元素)。2、重構組合優化規則應用:首先,根據重構操作間的交換關系,標記可交換的重構操作對。針對重構操作組本文檔來自技高網...
    一種對程序代碼進行重構操作組合的方法

    【技術保護點】
    一種對程序代碼進行重構操作組合的方法,其特征在于,包括以下步驟:步驟a:重構操作組合初始化步驟;載入待優化的重構操作組合,讀取用戶自定義的初始重構操作組合配置,所述初始重構操作組合滿足所有前置條件檢查要求,對所有前置條件合法性進行驗證,確保初始重構組合可正確運行;步驟b:抽取前置、后置關鍵程序代碼元素步驟;根據所述用戶自定義的初始重構操作組合,抽取組合中各重構操作的前置關鍵程序代碼元素與后置關鍵程序代碼元素;所述前置關鍵程序代碼元素代表重構操作作用前的程序代碼元素狀態,所述后置關鍵程序代碼元素代表重構操作作用后的程序代碼元素狀態;?步驟c:標記依賴關系步驟;通過遍歷重構操作組合中的具體重構操作,同時分析初始重構組合的前置和后置關鍵程序代碼元素,如果一對重構操作中的后者前置條件滿足依賴于前者重構執行的結果,則用標識來標記各重構操作間的依賴關系;步驟d:標記可交換關系與重排序步驟;如果一對重構操作中的前者與后者順序交換后,重構操作組合執行的結果不變,則認為這兩個重構操作間存在可交換的關系,用標識來標記各重構操作間的可交換關系;并根據各重構操作間的可交換關系對重構操作組合進行交換操作,即對重構組合進行重排序操作后得到新重構操作組合;步驟e:標記可優化能力步驟;對所述新重構操作組合進行步驟c操作,調整所述新重構操作組合間的依賴關系,由所述新重構操作組合及各重構操作間的依賴關系,通過重構組合優化規則得出所述新重構操作組合的可優化能力,并用標識進行標記;?步驟f:優化操作步驟;將重構組合優化規則應用于所述新重構操作組合進行優化操作;如果優化操作進程中斷或阻斷,則退回初始狀態避免死循環操作;步驟g:導出優化后的程序代碼步驟;導出對所述新重構操作組合優化操作后的程序代碼。...

    【技術特征摘要】
    1.一種對程序代碼進行重構操作組合的方法,其特征在于,包括以下步驟:步驟a:重構操作組合初始化步驟;載入待優化的重構操作組合,讀取用戶自定義的初始重構操作組合配置,所述初始重構操作組合滿足所有前置條件檢查要求,對所有前置條件合法性進行驗證,確保初始重構操作組合可正確運行;步驟b:抽取前置、后置關鍵程序代碼元素步驟;根據所述用戶自定義的初始重構操作組合,抽取組合中各重構操作的前置關鍵程序代碼元素與后置關鍵程序代碼元素;所述前置關鍵程序代碼元素代表重構操作作用前的程序代碼元素狀態,所述后置關鍵程序代碼元素代表重構操作作用后的程序代碼元素狀態;步驟c:標記依賴關系步驟;通過遍歷重構操作組合中的具體重構操作,同時分析初始重構操作組合的前置和后置關鍵程序代碼元素,如果一對重構操作中的后者前置條件滿足依賴于前者重構執行的結果,則用標識來標記各重構操作間的依賴關系;步驟d:標記可交換關系與重排序步驟;如果一對重構操作中的前者與后者順序交換后,重構操作組合執行的結果不變,則認為這兩個重構操作間存在可交換的關系,用標識來標記各重構操作間的可交換關系;并...

    【專利技術屬性】
    技術研發人員:梁良馬勇朱正剛余鵬飛
    申請(專利權)人:國家電網公司 國網江西省電力公司信息通信分公司
    類型:發明
    國別省市:北京;11

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 日韩精品无码区免费专区| 亚洲av日韩av无码av| 人妻丰满熟妇AV无码区免| 无码人妻精品中文字幕免费| 无码福利写真片视频在线播放| 亚洲高清无码综合性爱视频| 99国产精品无码| 国产午夜鲁丝无码拍拍| 国产嫖妓一区二区三区无码| 日韩精品无码一区二区三区免费| 亚洲一级Av无码毛片久久精品| AAA级久久久精品无码片| 亚洲国产精品无码专区在线观看| 国产成人无码午夜视频在线观看| 精品国精品无码自拍自在线| 亚洲精品中文字幕无码蜜桃| 一道久在线无码加勒比| 无码人妻一区二区三区免费| 免费A级毛片无码A∨中文字幕下载| 中文一国产一无码一日韩| 日韩人妻系列无码专区| 老司机无码精品A| 无码毛片内射白浆视频| 亚洲精品久久无码| AV无码久久久久不卡网站下载| 午夜福利av无码一区二区| 国产成人综合日韩精品无码不卡| 曰韩无码AV片免费播放不卡| 成人免费无码大片A毛片抽搐| 色国产色无码色欧美色在线| 色欲AV永久无码精品无码| 色综合色国产热无码一| 无码人妻少妇伦在线电影| 曰韩无码二三区中文字幕| 无码专区6080yy国产电影| 人妻无码aⅴ不卡中文字幕| 亚洲一本大道无码av天堂| 免费a级毛片无码a∨免费软件| 成年无码av片在线| 国产亚洲AV无码AV男人的天堂| 无码国产精品一区二区免费16|