aws-samples / amazon-chime-sdk
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 380 units with 5,109 lines of code in units (17.2% of code).
    • 3 very long units (438 lines of code)
    • 5 long units (398 lines of code)
    • 55 medium size units (1,495 lines of code)
    • 113 small units (1,677 lines of code)
    • 204 very small units (1,101 lines of code)
8% | 7% | 29% | 32% | 21%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js8% | 11% | 24% | 39% | 16%
tsx47% | 0% | 31% | 9% | 10%
kt0% | 6% | 42% | 28% | 22%
swift0% | 0% | 27% | 30% | 42%
ts0% | 0% | 0% | 21% | 78%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
apps/televisit-demo13% | 17% | 23% | 36% | 9%
apps/meeting29% | 0% | 29% | 15% | 25%
apps/chat-android0% | 7% | 44% | 29% | 18%
apps/chat-ios0% | 0% | 25% | 34% | 39%
apps/chat0% | 0% | 21% | 58% | 19%
apps/moderated-chat-and-sentiment-analysis0% | 0% | 36% | 22% | 41%
apps/real-time-collaboration0% | 0% | 28% | 41% | 30%
apps/iOS-WKWebView-sample0% | 0% | 38% | 0% | 61%
apps/amplify-demo0% | 0% | 0% | 0% | 100%
apps/android-webview-sample0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
export function reducer()
in apps/meeting/src/providers/VideoTileGridProvider/state.tsx
192 43 3
export default function TranscriptAnalysisPane()
in apps/televisit-demo/frontend/src/containers/transcriptions/TranscriptAnalysisPane.js
137 5 5
function ResultRow()
in apps/televisit-demo/frontend/src/containers/transcriptions/AnalysisPane.js
109 19 3
export default function generateSOAPSummary()
in apps/televisit-demo/frontend/src/containers/transcriptions/soapSummary.js
98 17 1
function ResultTable()
in apps/televisit-demo/frontend/src/containers/transcriptions/AnalysisPane.js
88 2 6
override fun signURL()
in apps/chat-android/messaging-websocket/src/main/java/com/amazonaws/services/chime/sdk/messaging/utils/DefaultSigV4.kt
83 5 7
exports.handler = function()
in apps/televisit-demo/backend/messagemoderator/index.js
71 7 2
export default function useComprehension()
in apps/televisit-demo/frontend/src/containers/transcriptions/useComprehension.js
58 7 1
func updateCell()
in apps/chat-ios/AmazonChimeSDKMessagingDemo/entity/ChatMessageTableViewCell.swift
44 7 1
export default function SIPMeetingForm()
in apps/meeting/src/components/SIPMeetingForm/index.tsx
43 1 6
function parseArgs()
in apps/meeting/serverless/deploy.js
42 16 0
exports.send = function()
in apps/real-time-collaboration/server/AppInstanceLambda/cfn-response.js
39 3 6
override suspend fun updateAppInstanceUserEndpoint()
in apps/chat-android/app/src/main/java/com/amazonaws/services/chime/sdkdemo/data/source/DefaultUserRepository.kt
34 4 4
fun signIn()
in apps/chat-android/app/src/main/java/com/amazonaws/services/chime/sdkdemo/ui/signin/presentation/SignInViewModel.kt
34 4 0
async function listChannelMessages()
in apps/televisit-demo/backend/messagemoderator/ChimeMessagingAPI.js
33 4 5
suspend fun initialize()
in apps/chat-android/app/src/main/java/com/amazonaws/services/chime/sdkdemo/ui/messaging/presentation/MessagingViewModel.kt
33 6 0
suspend fun initialize()
in apps/chat-android/app/src/main/java/com/amazonaws/services/chime/sdkdemo/ui/channel/presentation/ChannelViewModel.kt
33 6 0
async function sendChannelMessage()
in apps/televisit-demo/frontend/src/api/ChimeAPI.js
31 3 5
override suspend fun exchangeTokenForAwsCredential()
in apps/chat-android/app/src/main/java/com/amazonaws/services/chime/sdkdemo/data/source/service/DefaultAuthService.kt
31 4 1
override fun onCreate()
in apps/chat-android/app/src/main/java/com/amazonaws/services/chime/sdkdemo/ui/messaging/view/activity/MessagingActivity.kt
31 5 1