[發(fā)明專利]一種代碼耦合檢測的方法及裝置有效
| 申請?zhí)枺?/td> | 202010761994.4 | 申請日: | 2020-07-31 |
| 公開(公告)號: | CN111984531B | 公開(公告)日: | 2022-01-28 |
| 發(fā)明(設(shè)計)人: | 曾慶隆;彭飛;鄧竹立 | 申請(專利權(quán))人: | 五八有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京潤澤恒知識產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 呂俊秀 |
| 地址: | 300450 天津市濱海新區(qū)經(jīng)濟技術(shù)開*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 代碼 耦合 檢測 方法 裝置 | ||
本申請示出了一種代碼耦合檢測的方法及裝置。根據(jù)引用頭文件在業(yè)務(wù)中間件中的引用形式檢測引用頭文件是否為耦合工程文件,當是時,確定業(yè)務(wù)中間件中存在代碼耦合。耦合工程文件包括除頭文件列表中的文件、公共白名單中的文件以及私有白名單中的文件以外的文件;本申請不受運行環(huán)境限制,從而提高了代碼耦合檢測的適用性。不涉及對業(yè)務(wù)中間件的編譯,從而避免編譯本身帶來的干擾,可以有效提高代碼耦合檢測結(jié)果的準確性。由于本申請針對業(yè)務(wù)中間件中的每一個引用頭文件分別進行檢測,可以直接定位出耦合的引用頭文件,可以提高代碼耦合定位的準確性,且代碼耦合定位不需要人工參與,因此可以降低人工成本以及提高耦合定位的效率。
技術(shù)領(lǐng)域
本申請涉及計算機技術(shù)領(lǐng)域,特別是涉及一種代碼耦合檢測的方法及裝置。
背景技術(shù)
在開發(fā)應(yīng)用程序的過程中,為了使得一些基礎(chǔ)服務(wù)能在多個應(yīng)用程序中復(fù)用,可以將這些基礎(chǔ)服務(wù)創(chuàng)建為業(yè)務(wù)中間件。業(yè)務(wù)中間件包括應(yīng)用程序架構(gòu)中處于上層業(yè)務(wù)下方的,為上層業(yè)務(wù)提供通用服務(wù)的基礎(chǔ)組件,屬于通用業(yè)務(wù)。
例如,上層業(yè)務(wù)包括用戶可以直接交互的業(yè)務(wù),例如,買房業(yè)務(wù)、租車業(yè)務(wù)以及招聘業(yè)務(wù)等,為了使得用戶能夠享用這些業(yè)務(wù),在這些業(yè)務(wù)的詳情頁中有時候需要設(shè)置相冊、列表以及聊天框等,這些諸如為了支持上層業(yè)務(wù)提供通用相冊服務(wù)、通用列表服務(wù)、IM服務(wù)以及信息推送服務(wù)等可以看做通用業(yè)務(wù),其與上層業(yè)務(wù)不是強相關(guān)。
但是,在維護應(yīng)用程序中的業(yè)務(wù)中間件的過程中,有時候開發(fā)人員為了方便,可能會將業(yè)務(wù)中間件不經(jīng)過解耦而直接引用了其它工程代碼,這樣雖然應(yīng)用程序的功能和編譯都不會受影響,但是后續(xù)將難以維護業(yè)務(wù)中間件,也很難將其復(fù)用到其它應(yīng)用程序中,也不能單獨編譯生成業(yè)務(wù)中間件的靜態(tài)庫。
在相關(guān)技術(shù)中,為了對業(yè)務(wù)中間件進行代碼耦合檢測,可以對每個業(yè)務(wù)中間件單獨編譯,如果編譯失敗,則認為業(yè)務(wù)中間件很可能存在代碼耦合。
但是,對業(yè)務(wù)中間件編譯的過程比較耗時,而且需要依賴xcode環(huán)境。
另外,對耦合的代碼的定位比較困難,需要對xcode的編譯結(jié)果進行分析,當前需要依靠人工分析,然而,人工分析不僅耗時長且會提高人工成本。
其次,業(yè)務(wù)中間件編譯失敗也可能并不是代碼耦合造成的,也可能是編譯本身有問題而導(dǎo)致的。
由此可見,相關(guān)技術(shù)中的代碼耦合檢測方案存在適用性弱,對耦合的代碼的定位教困難以及檢測結(jié)果的準確性低等問題。
發(fā)明內(nèi)容
為了提高代碼耦合檢測方案的適用性,降低耦合的代碼的定位困難度以及提高檢測結(jié)果的準確性等,本申請示出了一種代碼耦合檢測的方法及裝置。
第一方面,本申請示出了一種代碼耦合檢測的方法,所述方法包括:
獲取第一業(yè)務(wù)中間件中的引用頭文件,以及,獲取所述引用頭文件在所述第一業(yè)務(wù)中間件中的引用形式;
根據(jù)所述引用形式,檢測所述引用頭文件是否為耦合工程文件,其中,所述耦合工程文件包括除頭文件列表中的文件、公共白名單中的文件以及私有白名單中的文件以外的文件,所述公共白名單是至少基于所述第一業(yè)務(wù)中間件在非耦合狀態(tài)下依賴的系統(tǒng)庫、三方庫以及標準中間件生成的,所述私有白名單是至少基于所述第一業(yè)務(wù)中間件在非耦合狀態(tài)下依賴的第二業(yè)務(wù)中間件生成的,所述頭文件列表中是至少根據(jù)所述第一業(yè)務(wù)中間件自身包括的文件生成的;
在至少一個所述引用頭文件為所述耦合工程文件的情況下,確定所述第一業(yè)務(wù)中間件中存在代碼耦合。
在一個可選的實現(xiàn)方式中,所述根據(jù)所述引用形式,檢測所述引用頭文件是否為耦合工程文件,包括:
根據(jù)所述引用形式,確定用于檢測所述引用頭文件是否為耦合工程文件的檢測路徑,所述檢測路徑包括以下至少一者:在所述公共白名單中檢測、在所述私有白名單中檢測以及在所述頭文件列表中檢測;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于五八有限公司,未經(jīng)五八有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010761994.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





