Updated SLOC count doc. Added McCabe complexity to Makefile.
This commit is contained in:
@@ -322,6 +322,40 @@ SPELL_OPTIONS = --enable-colors --ignore-words-list $(IGNORE_WORDS)
|
|||||||
spell:
|
spell:
|
||||||
codespell $(SPELL_OPTIONS) ./src
|
codespell $(SPELL_OPTIONS) ./src
|
||||||
|
|
||||||
|
# McCabe's Cyclomatic Complexity Scores
|
||||||
|
# sudo apt install pmccable
|
||||||
|
COMPLEXITY_SRC = \
|
||||||
|
$(wildcard ./src/bacnet/*.c) \
|
||||||
|
$(wildcard ./src/bacnet/basic/*.c) \
|
||||||
|
$(wildcard ./src/bacnet/basic/binding/*.c) \
|
||||||
|
$(wildcard ./src/bacnet/basic/service/*.c) \
|
||||||
|
$(wildcard ./src/bacnet/basic/sys/*.c) \
|
||||||
|
./src/bacnet/basic/npdu/h_npdu.c \
|
||||||
|
./src/bacnet/basic/npdu/s_router.c \
|
||||||
|
./src/bacnet/basic/tsm/tsm.c
|
||||||
|
|
||||||
|
.PHONY: pmccabe
|
||||||
|
pmccabe:
|
||||||
|
pmccabe $(COMPLEXITY_SRC) | awk '{print $$2,$$6,$$7}' | sort -nr | head -20
|
||||||
|
|
||||||
|
# sudo apt install complexity
|
||||||
|
# 0-9 Easily maintained code.
|
||||||
|
# 10-19 Maintained with little trouble.
|
||||||
|
# 20-29 Maintained with some effort.
|
||||||
|
# 30-39 Difficult to maintain code.
|
||||||
|
# 40-49 Hard to maintain code.
|
||||||
|
# 50-99 Unmaintainable code.
|
||||||
|
# 100-199 Crazy making difficult code.
|
||||||
|
# 200+ I only wish I were kidding.
|
||||||
|
.PHONY: complexity
|
||||||
|
complexity:
|
||||||
|
complexity $(COMPLEXITY_SRC)
|
||||||
|
|
||||||
|
# sudo apt install sloccount
|
||||||
|
.PHONY: sloccount
|
||||||
|
sloccount:
|
||||||
|
sloccount .
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean: ports-clean
|
clean: ports-clean
|
||||||
$(MAKE) -s -C src clean
|
$(MAKE) -s -C src clean
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ package "gitg"
|
|||||||
package "tofrodos"
|
package "tofrodos"
|
||||||
package "clang-format"
|
package "clang-format"
|
||||||
package "sloccount"
|
package "sloccount"
|
||||||
|
package "complexity"
|
||||||
|
package "pmccabe"
|
||||||
|
|
||||||
# install ARM compiler and debugging tools
|
# install ARM compiler and debugging tools
|
||||||
package "gcc-arm-none-eabi"
|
package "gcc-arm-none-eabi"
|
||||||
|
|||||||
+20
-18
@@ -1,10 +1,12 @@
|
|||||||
SLOC Directory SLOC-by-Language (Sorted)
|
SLOC Directory SLOC-by-Language (Sorted)
|
||||||
84560 ports ansic=70066,asm=9265,cpp=4651,xml=424,sh=154
|
118011 ports ansic=101988,asm=10755,cpp=4651,xml=463,sh=154
|
||||||
72724 src_bacnet ansic=72724
|
78632 src_bacnet ansic=78632
|
||||||
15569 apps ansic=15011,perl=463,javascript=91,sh=4
|
28295 test ansic=27663,cpp=598,xml=34
|
||||||
721 test ansic=721
|
22418 apps ansic=21856,perl=463,javascript=89,sh=10
|
||||||
257 bin sh=257
|
644 build ansic=610,xml=34
|
||||||
5 top_dir sh=5
|
565 zephyr ansic=565
|
||||||
|
302 bin sh=302
|
||||||
|
112 top_dir sh=112
|
||||||
0 cmake (none)
|
0 cmake (none)
|
||||||
0 doc (none)
|
0 doc (none)
|
||||||
0 license (none)
|
0 license (none)
|
||||||
@@ -12,24 +14,24 @@ SLOC Directory SLOC-by-Language (Sorted)
|
|||||||
|
|
||||||
|
|
||||||
Totals grouped by language (dominant language first):
|
Totals grouped by language (dominant language first):
|
||||||
ansic: 158522 (91.19%)
|
ansic: 231314 (92.91%)
|
||||||
asm: 9265 (5.33%)
|
asm: 10755 (4.32%)
|
||||||
cpp: 4651 (2.68%)
|
cpp: 5249 (2.11%)
|
||||||
perl: 463 (0.27%)
|
sh: 578 (0.23%)
|
||||||
xml: 424 (0.24%)
|
xml: 531 (0.21%)
|
||||||
sh: 420 (0.24%)
|
perl: 463 (0.19%)
|
||||||
javascript: 91 (0.05%)
|
javascript: 89 (0.04%)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Total Physical Source Lines of Code (SLOC) = 173,836
|
Total Physical Source Lines of Code (SLOC) = 248,979
|
||||||
Development Effort Estimate, Person-Years (Person-Months) = 45.00 (539.96)
|
Development Effort Estimate, Person-Years (Person-Months) = 65.61 (787.38)
|
||||||
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
|
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
|
||||||
Schedule Estimate, Years (Months) = 2.28 (27.30)
|
Schedule Estimate, Years (Months) = 2.63 (31.51)
|
||||||
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
|
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
|
||||||
Estimated Average Number of Developers (Effort/Schedule) = 19.78
|
Estimated Average Number of Developers (Effort/Schedule) = 24.99
|
||||||
Total Estimated Cost to Develop = $ 6,078,387
|
Total Estimated Cost to Develop = $ 8,863,648
|
||||||
(average salary = $56,286/year, overhead = 2.40).
|
(average salary = $56,286/year, overhead = 2.40).
|
||||||
SLOCCount, Copyright (C) 2001-2004 David A. Wheeler
|
SLOCCount, Copyright (C) 2001-2004 David A. Wheeler
|
||||||
SLOCCount is Open Source Software/Free Software, licensed under the GNU GPL.
|
SLOCCount is Open Source Software/Free Software, licensed under the GNU GPL.
|
||||||
|
|||||||
Reference in New Issue
Block a user