android / architecture-samples
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 170 units with 1,209 lines of code in units (42.9% of code).
    • 0 very long units (0 lines of code)
    • 0 long units (0 lines of code)
    • 3 medium size units (71 lines of code)
    • 41 small units (562 lines of code)
    • 126 very small units (576 lines of code)
0% | 0% | 5% | 46% | 47%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
kt0% | 0% | 5% | 46% | 47%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
app/src/main/java/com/example/android/architecture/blueprints/todoapp/addedittask0% | 0% | 38% | 50% | 11%
app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks0% | 0% | 18% | 19% | 61%
app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks0% | 0% | 9% | 76% | 14%
app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/tasks0% | 0% | 0% | 70% | 30%
app/src/mock/java/com/example/android/architecture/blueprints/todoapp0% | 0% | 0% | 85% | 14%
app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/taskdetail0% | 0% | 0% | 85% | 14%
app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/addedittask0% | 0% | 0% | 64% | 35%
app/src/main/java/com/example/android/architecture/blueprints/todoapp0% | 0% | 0% | 51% | 48%
app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/statistics0% | 0% | 0% | 62% | 37%
app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/util0% | 0% | 0% | 84% | 15%
app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/data0% | 0% | 0% | 14% | 85%
app/src/main/java/com/example/android/architecture/blueprints/todoapp/taskdetail0% | 0% | 0% | 27% | 72%
app/src/prod/java/com/example/android/architecture/blueprints/todoapp/data0% | 0% | 0% | 21% | 78%
app/src/mock/java/com/example/android/architecture/blueprints/todoapp/data0% | 0% | 0% | 22% | 77%
app/src/prod/java/com/example/android/architecture/blueprints/todoapp0% | 0% | 0% | 72% | 27%
app/src/main/java/com/example/android/architecture/blueprints/todoapp/data0% | 0% | 0% | 11% | 88%
app/src/main/java/com/example/android/architecture/blueprints/todoapp/statistics0% | 0% | 0% | 45% | 54%
app/src/main/java/com/example/android/architecture/blueprints/todoapp/util0% | 0% | 0% | 0% | 100%
app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
fun start()
in app/src/main/java/com/example/android/architecture/blueprints/todoapp/addedittask/AddEditTaskViewModel.kt
24 5 1
fun setFiltering()
in app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksViewModel.kt
24 1 1
fun taskDetailScreen_doubleUIBackButton()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/AppNavigationTest.kt
23 1 0
fun saveTask()
in app/src/main/java/com/example/android/architecture/blueprints/todoapp/addedittask/AddEditTaskViewModel.kt
19 6 0
override fun create()
in app/src/main/java/com/example/android/architecture/blueprints/todoapp/ViewModelFactory.kt
18 1 3
fun statsScreen_clickOnAndroidHomeIcon_OpensNavigation()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/AppNavigationTest.kt
18 1 0
fun createDataBase()
in app/src/mock/java/com/example/android/architecture/blueprints/todoapp/ServiceLocator.kt
17 2 2
fun drawerNavigationFromTasksToStatistics()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/AppNavigationTest.kt
17 1 0
fun markTaskAsCompleteAndActiveOnDetailScreen_taskIsActiveInList()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivityTest.kt
17 1 0
fun markTaskAsActiveAndCompleteOnDetailScreen_taskIsCompleteInList()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivityTest.kt
17 1 0
fun tasks_showsNonEmptyMessage()
in app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/statistics/StatisticsFragmentTest.kt
17 1 0
fun editTask()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivityTest.kt
16 1 0
fun markTaskAsCompleteOnDetailScreen_taskIsCompleteInList()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivityTest.kt
16 1 0
fun markTaskAsActiveOnDetailScreen_taskIsActiveInList()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivityTest.kt
16 1 0
override fun isIdleNow()
in app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/util/DataBindingIdlingResource.kt
16 3 0
fun tasksScreen_clickOnAndroidHomeIcon_OpensNavigation()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/AppNavigationTest.kt
15 1 0
fun createOneTask_deleteTask()
in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivityTest.kt
15 1 0
override fun onCreate()
in app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivity.kt
14 1 1
override fun onCreateView()
in app/src/main/java/com/example/android/architecture/blueprints/todoapp/taskdetail/TaskDetailFragment.kt
14 1 3
override fun observeTask()
in app/src/sharedTest/java/com/example/android/architecture/blueprints/todoapp/data/source/FakeRepository.kt
14 1 1