85 |
9 4
5. Μετρικές κώδικα και προδιαγραφές συστήματος
5.1
Κυκλωματική πολυπλοκότητα (Cyclomatic complexity)
Η κυκλωματική πολυπλοκότητα ενός τμήματος του πηγαίου κώδικα είναι ο αριθμός
των γραμμικά ανεξάρτητων διαδρομών μέσα σε αυτό - όπου "γραμμικά ανεξάρτητο"
σημαίνει ότι κάθε διαδρομή έχει τουλάχιστον ένα άκρο που δεν βρίσκεται σε μια από τις
άλλες διαδρομές. Για παράδειγμα, εάν ο πηγαίος κώδικας δεν περιείχε δηλώσεις ροής
ελέγχου (υπό όρους ή σημεία απόφασης), η πολυπλοκότητα θα ήταν 1, αφού θα υπήρχε μόνο
μία διαδρομή μέσω του κώδικα. Εάν ο κώδικας είχε μια δήλωση IF μίας συνθήκης, θα
υπήρχαν δύο διαδρομές μέσω του κώδικα: μία όπου η δήλωση IF αξιολογείται σε TRUE και
μια άλλη όπου αξιολογεί FALSE, οπότε η πολυπλοκότητα θα είναι 2. Δύο ένθετα IF μίας
συνθήκης , ή ένα IF με δύο συνθήκες, θα προκαλούσε πολυπλοκότητα 3.
5.2
Μετρικές πηγαίου κώδικα
Χρησιμοποιώντας το εργαλείο Simple Code Metrics πήραμε τα παρακάτω
αποτελέσματα:
Total lines of code: 10552
Top 5 Classes Lines of Code:
Dc_schem
792
Circuit_solution
778
XMLReaderWriter
544
CustomComponent
500
Object
307
Packages Lines of Code:
dc_schematic
4183
comp
6369
Total lines with imports: 497