android / compose-samples
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 343 units with 5,586 lines of code in units (27.3% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 0 medium complex units (0 lines of code)
    • 1 simple units (59 lines of code)
    • 342 very simple units (5,527 lines of code)
0% | 0% | 0% | 1% | 98%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
kt0% | 0% | 0% | 1% | 98%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
Jetchat/app0% | 0% | 0% | 7% | 92%
JetNews/app0% | 0% | 0% | 0% | 100%
Jetsnack/app0% | 0% | 0% | 0% | 100%
Jetcaster/app0% | 0% | 0% | 0% | 100%
Jetsurvey/app0% | 0% | 0% | 0% | 100%
Owl/app0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
fun AnimatingFabContent()
in Jetchat/app/src/main/java/com/example/compose/jetchat/components/AnimatingFabContent.kt
59 6 1
fun SelectTopicButton()
in JetNews/app/src/main/java/com/example/jetnews/ui/interests/SelectTopicButton.kt
26 5 2
fun Question()
in Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/survey/SurveyQuestions.kt
52 5 4
fun messageFormatter()
in Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/MessageFormatter.kt
35 5 2
fun Messages()
in Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/Conversation.kt
66 5 2
fun HomeContent()
in Jetcaster/app/src/main/java/com/example/jetcaster/ui/home/Home.kt
84 5 6
fun FilterChip()
in Jetsnack/app/src/main/java/com/example/jetsnack/ui/components/Filters.kt
59 4 3
fun JetsnackGradientTintedIconButton()
in Jetsnack/app/src/main/java/com/example/jetsnack/ui/components/GradientTintedIconButton.kt
53 4 2
fun ArticleScreen()
in JetNews/app/src/main/java/com/example/jetnews/ui/article/ArticleScreen.kt
47 4 3
fun OwlBottomBar()
in Owl/app/src/main/java/com/example/owl/ui/OwlApp.kt
34 4 2
override suspend fun intercept()
in Owl/app/src/main/java/com/example/owl/ui/utils/NetworkImage.kt
17 4 1
fun WelcomeScreen()
in Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/WelcomeScreen.kt
42 4 1
fun JetchatTheme()
in Jetchat/app/src/main/java/com/example/compose/jetchat/theme/Themes.kt
27 4 1
fun Message()
in Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/Conversation.kt
43 4 1
fun setUserId()
in Jetchat/app/src/main/java/com/example/compose/jetchat/profile/ProfileViewModel.kt
10 4 1
suspend fun updatePodcasts()
in Jetcaster/app/src/main/java/com/example/jetcaster/data/PodcastsRepository.kt
24 4 1
fun SnackCollection()
in Jetsnack/app/src/main/java/com/example/jetsnack/ui/components/Snacks.kt
45 3 2
fun JetsnackBottomBar()
in Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/Home.kt
63 3 3
fun SortOption()
in Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/FilterScreen.kt
30 3 3
fun decreaseSnackCount()
in Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/cart/CartViewModel.kt
12 3 1