工程文件的容量信息處理方法及裝置與流程
2023-08-09 05:58:16 1

本申請涉及計算機技術領域,尤其涉及一種工程文件的容量信息處理方法及裝置。
背景技術:
由於工程文件很多,逐個文件統計,不僅耗時費力,且不能保證準確性。因此,現有技術通過藉助工程編譯環境給出的各個文件的大小,粗略估算出代碼行數等方法。該方法是利用平均原則,以某個典型文件的大小,除以該文件的總行數,得出平均每行代碼的大小,然後再用整個工程的大小除以每一行的大小,可以得到一個大概的代碼行數。該方法雖然比人工統計便捷,但是準確度太低。
技術實現要素:
本申請旨在至少在一定程度上解決相關技術中的技術問題之一。
為此,本申請的第一個目的在於提出一種工程文件的容量信息處理方法,該方法實現了自適應識別工程路徑,避免手動添加待統計文件路徑,提高了工程文件容量信息的統計粒度和準確度。
本申請的第二個目的在於提出一種工程文件的容量信息處理裝置。
為達上述目的,本申請第一方面實施例提出了一種工程文件的容量信息處理方法,包括:遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件;根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數。根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。
本申請實施例的工程文件的容量信息處理方法,通過遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件;根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數;根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。由此,實現了 自適應識別工程路徑,避免手動添加待統計文件路徑,提高了工程文件容量信息的統計粒度和準確度。
為達上述目的,本申請第二方面實施例提出了一種工程文件的容量信息處理裝置,包括:獲取模塊,用於遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件;檢測模塊,用於根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數;處理模塊,用於根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。
本申請實施例的工程文件的容量信息處理裝置,通過遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件;根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數;根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。由此,實現了自適應識別工程路徑,避免手動添加待統計文件路徑,提高了工程文件容量信息的統計粒度和準確度。
附圖說明
本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是本申請一個實施例的工程文件的容量信息處理方法的流程圖;
圖2是本申請一個實施例的工程文件的容量信息處理裝置的結構示意圖;
具體實施方式
下面詳細描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用於解釋本申請,而不能理解為對本申請的限制。
下面參考附圖描述本申請實施例的工程文件的容量信息處理方法及裝置。
圖1是本申請一個實施例的工程文件的容量信息處理方法的流程圖。
如圖1所示,該工程文件的容量信息處理方法包括:
步驟101,遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件。
具體地,由於工程文件的代碼量很大,包含的文件多,子路徑深,因此,工程中需要統計的文件分布在所有的路徑中。所以當需要統計工程代碼容量時,首先需要遍歷工程中所有路徑下的文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,並對所有文件進行編號排序。
進而,從該全局變量中獲取與預設的文件類型對應的待測文件。其中,預設的文件類型有很多,例如:(.c,.h..H文件),可以根據實際應用需要進行設置,本實施例對此不作限制。
步驟102,根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數。
具體地,為了提高工程文件代碼容量的統計粒度和精確度,預先設置字符特徵庫,其中,字符特徵庫中包括了用於識別工程文件中代碼行、空行、以及注釋行的標識字符。
進而,根據預設的字符特徵庫檢測每個待測文件的代碼信息,通過代碼信息中與字符特徵庫中預設字符的匹配數量,確定與每個待測文件對應的容量信息,其中,該容量信息包括:代碼行數、空行行數以及注釋行數。
需要說明的是,針對不同的文件類型、代碼類型、以及注釋類型,可以根據應用需要設置不同的字符類型進行識別,具體說明如下:
示例一:字符特徵庫包括:空行起始符和結束符的第一字符類型;
根據第一字符類型中的空行起始符和結束符,檢測每個待測文件的代碼信息,如果出現與空行起始符和結束符匹配的字符信息,則確定為空行,依次對整個文件的代碼信息進行檢測,確定每個待測文件對應的空行行數。
示例二:字符特徵庫包括:注釋起始符和結束符的第二字符類型;
根據第二字符類型中的注釋起始符和結束符,檢測每個待測文件的代碼信息,如果出現與注釋起始符和結束符匹配的字符信息,則確定為注釋行,依次對整個文件的代碼信息進行檢測,確定每個待測文件對應的注釋行數。
示例三:字符特徵庫包括:代碼起始符和結束符的第三字符類型;
根據第三字符類型中的注釋起始符和結束符,檢測每個待測文件的代碼信息,如果出現與代碼起始符和結束符匹配的字符信息,則確定為代碼行,依次對整個文件的代碼信息進行檢測,確定每個待測文件對應的代碼行數。
步驟103,根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。
具體地,為了直觀的顯示精確粒度的工程文件容量信息,根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。其中,報表格式的類型很多,本實施例對 此不作限制。
進一步地,將包含文件名稱與容量信息對應關係的報表保存到預設的路徑中。
本申請實施例的工程文件的容量信息處理方法,通過遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件;根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數;根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。由此,實現了自適應識別工程路徑,避免手動添加待統計文件路徑,提高了工程文件容量信息的統計粒度。
為了實現上述實施例,本申請還提出一種工程文件的容量信息處理裝置。
圖2是本申請一個實施例的工程文件的容量信息處理裝置的結構示意圖。
如圖2所示,該工程文件的容量信息處理裝置包括:
獲取模塊11,用於遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件;
檢測模塊12,用於根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數;
處理模塊13,用於根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。
具體地,為了提高工程文件代碼容量的統計粒度和精確度,預先設置字符特徵庫,其中,字符特徵庫中包括了用於識別工程文件中代碼行、空行、以及注釋行的標識字符。
進而,根據預設的字符特徵庫檢測每個待測文件的代碼信息,通過代碼信息中與字符特徵庫中預設字符的匹配數量,確定與每個待測文件對應的容量信息,其中,該容量信息包括:代碼行數、空行行數以及注釋行數。
需要說明的是,針對不同的文件類型、代碼類型、以及注釋類型,可以根據應用需要設置不同的字符類型進行識別,具體說明如下:
其中,在一個實施例中,檢測模塊12用於:
根據所述字符特徵庫中的第一字符類型檢測每個待測文件的代碼信息,確定與每個待測文件對應的空行行數,其中,所述第一字符類型包括:空行起始符和結束符。
其中,在另一個實施例中,所述檢測模塊12用於:
根據所述字符特徵庫中的第二字符類型檢測每個待測文件的代碼信息,確定與每個待測文件對應的注釋行數,其中,所述第二字符類型包括:注釋起始符和結束符。
其中,在另一個實施例中,所述檢測模塊12用於:
根據所述字符特徵庫中的第三字符類型檢測每個待測文件的代碼信息,確定與每個待測文件對應的代碼行數,其中,所述第三字符類型包括:代碼起始符和結束符。
進一步地,所述處理模塊13還用於:
將包含所述文件名稱與容量信息對應關係的報表保存到預設的路徑中。
需要說明的是,前述對工程文件的容量信息處理方法實施例的解釋說明也適用於該實施例的工程文件的容量信息處理裝置,此處不再贅述。
本申請實施例的工程文件的容量信息處理裝置,通過遍歷待測工程的所有文件,將每個文件的文件名稱和文件路徑保存到預設的全局變量中,從所述全局變量中獲取與預設的文件類型對應的待測文件;根據預設的字符特徵庫檢測每個待測文件的代碼信息,確定與每個待測文件對應的容量信息,所述容量信息包括:代碼行數、空行行數以及注釋行數;根據預設的報表格式建立每個待測文件的文件名稱與容量信息的對應關係。由此,實現了自適應識別工程路徑,避免手動添加待統計文件路徑,提高了工程文件容量信息的統計粒度。
在本說明書的描述中,參考術語「一個實施例」、「一些實施例」、「示例」、「具體示例」、或「一些示例」等的描述意指結合該實施例或示例描述的具體特徵或者特點包含於本申請的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特徵或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特徵進行結合和組合。
此外,術語「第一」、「第二」僅用於描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特徵的數量。由此,限定有「第一」、「第二」的特徵可以明示或者隱含地包括至少一個該特徵。在本申請的描述中,「多個」的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用於實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,並且本申請的優選實施方式的範圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本申請的實施例所屬技術領域的技術人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用於實 現邏輯功能的可執行指令的定序列表,可以具體實現在任何計算機可讀介質中,以供指令執行系統、裝置或設備(如基於計算機的系統、包括處理器的系統或其他可以從指令執行系統、裝置或設備取指令並執行指令的系統)使用,或結合這些指令執行系統、裝置或設備而使用。就本說明書而言,"計算機可讀介質"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執行系統、裝置或設備或結合這些指令執行系統、裝置或設備而使用的裝置。計算機可讀介質的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),可攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及可攜式光碟只讀存儲器(CDROM)。另外,計算機可讀介質甚至可以是可在其上列印所述程序的紙或其他合適的介質,因為可以例如通過對紙或其他介質進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然後將其存儲在計算機存儲器中。
應當理解,本申請的各部分可以用硬體、軟體、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟體或固件來實現。例如,如果用硬體來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用於對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。