2012-12-19 63 views
3

我必須根據行數找到C文件的複雜度。我找到了行數。但是如何判斷它是否是一個複雜的文件呢?基於一定的價值,我必須給它一個索引。例如,對於高複雜度,複雜度指數-5。我可以在哪個基礎上編制索引?超過1000條高複合線,例如,不適用於所有。有沒有給出條件的標準方法('超過1000行')?歡迎任何類型的建議,除了任何預定義的工具。我需要用C編程它。提前致謝。查找函數複雜度指數

+2

參見: http://en.wikipedia.org/wiki/Cyclomatic_complexity –

+0

你不能根據行數來定義某些代碼的複雜性應有的複雜性是指計算機執行程序的努力,而不是寫人代碼的努力。 – adripanico

+0

@adripanico是的。我知道這是一種發現複雜性的不好方法。但是,考慮到我必須實現它(任何線條)的任何方法,您能提出任何閾值,我可以根據該閾值對其進行索引嗎?謝謝。 – Gomathi

回答

2

comlexity不基於線,例如:

while(n!=0) {a+=b;n--;}

復爲n 和另一exapmle:

for(i=0;i<n;i++) {for(j=0;j<n;j++) {a+=b} } 

的複雜性爲n^2

+0

謝謝。但我想要另一種方式。就像,如果程序超過500行,它的複雜性指數是3(中等複雜程序)。你能提出任何具體的條件計算,而不是直接指定爲'超過500行'? – Gomathi

+0

是你的程序被分割爲:func.s,main.c,header.h? 或它是在一個文件中:good.c(你知道的業力;)) – shimon

+0

只有一個文件。 good.c :-) – Gomathi