microsoft / botbuilder-dotnet
File Size

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

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 1,496 files with 87,875 lines of code.
    • 3 very long files (3,972 lines of code)
    • 8 long files (4,852 lines of code)
    • 67 medium size files (20,442 lines of codeclsfd_ftr_w_mp_ins)
    • 127 small files (17,933 lines of code)
    • 1,291 very small files (40,676 lines of code)
4% | 5% | 23% | 20% | 46%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
cs4% | 5% | 22% | 20% | 46%
g40% | 0% | 30% | 47% | 21%
html0% | 0% | 100% | 0% | 0%
tpl0% | 0% | 100% | 0% | 0%
ps10% | 0% | 33% | 0% | 66%
yml0% | 0% | 16% | 48% | 34%
vstemplate0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
vsixmanifest0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
libraries/Microsoft.Bot.Connector20% | 6% | 23% | 21% | 28%
libraries/Microsoft.Bot.Builder.Dialogs.Adaptive11% | 0% | 11% | 23% | 53%
libraries/AdaptiveExpressions9% | 0% | 19% | 8% | 63%
libraries/Microsoft.Bot.Builder.LanguageGeneration0% | 46% | 18% | 18% | 16%
libraries/Microsoft.Bot.Builder0% | 16% | 42% | 14% | 26%
libraries/Microsoft.Bot.Builder.Dialogs.Debugging0% | 21% | 9% | 6% | 62%
libraries/Microsoft.Bot.Builder.Dialogs0% | 8% | 26% | 32% | 32%
libraries/Microsoft.Bot.Connector.Streaming0% | 0% | 70% | 13% | 15%
libraries/Microsoft.Bot.Builder.AI.LUIS0% | 0% | 50% | 13% | 36%
libraries/Microsoft.Bot.Builder.Azure0% | 0% | 75% | 14% | 9%
build/AnalyzeDeps0% | 0% | 100% | 0% | 0%
libraries/Parsers0% | 0% | 33% | 55% | 10%
libraries/Adapters0% | 0% | 19% | 45% | 35%
libraries/Microsoft.Bot.Builder.Dialogs.Declarative0% | 0% | 32% | 26% | 40%
libraries/integration0% | 0% | 19% | 18% | 61%
libraries/Microsoft.Bot.Builder.AI.QnA0% | 0% | 25% | 33% | 41%
libraries/Microsoft.Bot.Configuration0% | 0% | 34% | 14% | 51%
libraries/Microsoft.Bot.Builder.Azure.Blobs0% | 0% | 65% | 34% | 0%
libraries/Microsoft.Bot.Builder.AI.Orchestrator0% | 0% | 92% | 0% | 7%
libraries/Microsoft.Bot.Schema0% | 0% | 5% | 0% | 94%
FunctionalTests/Microsoft.Bot.Builder.FunctionalTests0% | 0% | 22% | 58% | 18%
libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing0% | 0% | 15% | 7% | 76%
build/yaml0% | 0% | 16% | 48% | 34%
libraries/Microsoft.Bot.Streaming0% | 0% | 0% | 44% | 55%
libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime0% | 0% | 0% | 40% | 59%
generators/vsix-vs-win0% | 0% | 0% | 11% | 88%
libraries/Microsoft.Bot.Builder.ApplicationInsights0% | 0% | 0% | 100% | 0%
generators/dotnet-templates0% | 0% | 0% | 11% | 88%
build0% | 0% | 0% | 0% | 100%
libraries/Microsoft.Bot.Builder.Testing0% | 0% | 0% | 0% | 100%
libraries/Microsoft.Bot.Builder.TemplateManager0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
libraries/Microsoft.Bot.Builder.Azure.Queues0% | 0% | 0% | 0% | 100%
libraries0% | 0% | 0% | 0% | 100%
libraries/Swagger0% | 0% | 0% | 0% | 100%
FunctionalTests0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
Conversations.cs
in libraries/Microsoft.Bot.Connector
1698 3
AdaptiveDialog.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Adaptive
1204 34
FunctionUtils.cs
in libraries/AdaptiveExpressions
1070 51
BotFrameworkAdapter.cs
in libraries/Microsoft.Bot.Builder
816 46
Evaluator.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
625 21
TemplatesParser.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
611 27
DialogDebugAdapter.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Debugging
600 19
Expander.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
566 17
UserToken.cs
in libraries/Microsoft.Bot.Connector
566 1
TestAdapter.cs
in libraries/Microsoft.Bot.Builder/Adapters
550 37
ObjectPath.cs
in libraries/Microsoft.Bot.Builder.Dialogs
518 20
Node.cs
in libraries/AdaptiveExpressions/TriggerTrees
492 10
ResourceExplorer.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Declarative/Resources
491 34
Expression.cs
in libraries/AdaptiveExpressions
486 15
OAuthClient.cs
in libraries/Microsoft.Bot.Connector
477 11
Trigger.cs
in libraries/AdaptiveExpressions/TriggerTrees
449 15
OAuthClientOld.cs
in libraries/Microsoft.Bot.Connector
442 6
DialogContext.cs
in libraries/Microsoft.Bot.Builder.Dialogs
423 15
DialogStateManager.cs
in libraries/Microsoft.Bot.Builder.Dialogs/Memory
415 30
OAuthPrompt.cs
in libraries/Microsoft.Bot.Builder.Dialogs/Prompts
414 10
Templates.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
407 23
StreamingSession.cs
in libraries/Microsoft.Bot.Connector.Streaming/Session
407 15
QnAMakerDialog.cs
in libraries/Microsoft.Bot.Builder.AI.QnA/Dialogs
406 14
SlackHelper.cs
in libraries/Adapters/Microsoft.Bot.Builder.Adapters.Slack
361 7
LuParser.cs
in libraries/Parsers/Microsoft.Bot.Builder.Parsers.LU
358 11
BotConfiguration.cs
in libraries/Microsoft.Bot.Configuration
354 18
TurnContext.cs
in libraries/Microsoft.Bot.Builder
352 15
LuisRecognizer.cs
in libraries/Microsoft.Bot.Builder.AI.LUIS
351 30
ParameterizedBotFrameworkAuthentication.cs
in libraries/Microsoft.Bot.Connector/Authentication
351 18
TeamsActivityHandler.cs
in libraries/Microsoft.Bot.Builder/Teams
349 42
g4
CommonRegex.g4
in libraries/AdaptiveExpressions
336 -
InterdependencyGraph.html
in build/AnalyzeDeps
331 -
StaticChecker.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
331 9
LUResource.cs
in libraries/Parsers/Microsoft.Bot.Builder.Parsers.LU
331 7
BlobsTranscriptStore.cs
in libraries/Microsoft.Bot.Builder.Azure.Blobs
330 12
InputDialog.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Input
328 9
ActivityFactory.cs
in libraries/Microsoft.Bot.Builder
328 17
OrchestratorRecognizer.cs
in libraries/Microsoft.Bot.Builder.AI.Orchestrator
323 8
AzureBlobTranscriptStore.cs
in libraries/Microsoft.Bot.Builder.Azure
322 10
ActivityEx.cs
in libraries/Microsoft.Bot.Schema
318 35
StreamingRequestHandler.cs
in libraries/Microsoft.Bot.Builder/Streaming
317 19
CosmosDbPartitionedStorage.cs
in libraries/Microsoft.Bot.Builder.Azure
316 11
TestFlow.cs
in libraries/Microsoft.Bot.Builder/Adapters
293 22
ActivityHandler.cs
in libraries/Microsoft.Bot.Builder
292 30
TransportHandler.cs
in libraries/Microsoft.Bot.Connector.Streaming/Transport
289 12
tpl
deps.html.tpl
in build/AnalyzeDeps
287 -
LuisUtil.cs
in libraries/Microsoft.Bot.Builder.AI.LUIS
285 10
WebSocketTransport.cs
in libraries/Microsoft.Bot.Connector.Streaming/Transport
282 8
DirectLineSpeechTests.cs
in FunctionalTests/Microsoft.Bot.Builder.FunctionalTests
280 12
ExpressionParser.cs
in libraries/AdaptiveExpressions/parser
278 19
Files With Most Units (Top 20)
File# lines# units
FunctionUtils.cs
in libraries/AdaptiveExpressions
1070 51
BotFrameworkAdapter.cs
in libraries/Microsoft.Bot.Builder
816 46
TeamsActivityHandler.cs
in libraries/Microsoft.Bot.Builder/Teams
349 42
TestAdapter.cs
in libraries/Microsoft.Bot.Builder/Adapters
550 37
ActivityEx.cs
in libraries/Microsoft.Bot.Schema
318 35
AdaptiveDialog.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Adaptive
1204 34
ResourceExplorer.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Declarative/Resources
491 34
LuisRecognizer.cs
in libraries/Microsoft.Bot.Builder.AI.LUIS
351 30
DialogStateManager.cs
in libraries/Microsoft.Bot.Builder.Dialogs/Memory
415 30
ActivityHandler.cs
in libraries/Microsoft.Bot.Builder
292 30
TemplatesParser.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
611 27
Templates.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
407 23
TestFlow.cs
in libraries/Microsoft.Bot.Builder/Adapters
293 22
Evaluator.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
625 21
ObjectPath.cs
in libraries/Microsoft.Bot.Builder.Dialogs
518 20
ChannelServiceHandlerBase.cs
in libraries/Microsoft.Bot.Builder
122 20
CloudAdapterBase.cs
in libraries/Microsoft.Bot.Builder
246 20
ExpressionParser.cs
in libraries/AdaptiveExpressions/parser
278 19
DialogDebugAdapter.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Debugging
600 19
StreamingRequestHandler.cs
in libraries/Microsoft.Bot.Builder/Streaming
317 19
Files With Long Lines (Top 20)

There are 750 files with lines longer than 120 characters. In total, there are 3811 long lines.

File# lines# units# long lines
BotFrameworkAdapter.cs
in libraries/Microsoft.Bot.Builder
816 46 109
Conversations.cs
in libraries/Microsoft.Bot.Connector
1698 3 77
TeamsActivityHandler.cs
in libraries/Microsoft.Bot.Builder/Teams
349 42 75
LuisRecognizer.cs
in libraries/Microsoft.Bot.Builder.AI.LUIS
351 30 73
AdaptiveBotComponent.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Adaptive
193 1 53
AdaptiveDialog.cs
in libraries/Microsoft.Bot.Builder.Dialogs.Adaptive
1204 34 53
ActivityHandler.cs
in libraries/Microsoft.Bot.Builder
292 30 43
CloudAdapterBase.cs
in libraries/Microsoft.Bot.Builder
246 20 43
ParameterizedBotFrameworkAuthentication.cs
in libraries/Microsoft.Bot.Connector/Authentication
351 18 42
TeamsInfo.cs
in libraries/Microsoft.Bot.Builder/Teams
236 11 37
ChannelServiceHandlerBase.cs
in libraries/Microsoft.Bot.Builder
122 20 36
TestAdapter.cs
in libraries/Microsoft.Bot.Builder/Adapters
550 37 32
UserToken.cs
in libraries/Microsoft.Bot.Connector
566 1 32
QnAMakerDialog.cs
in libraries/Microsoft.Bot.Builder.AI.QnA/Dialogs
406 14 30
Evaluator.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
625 21 30
Expander.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
566 17 30
SkillDialog.cs
in libraries/Microsoft.Bot.Builder.Dialogs
219 12 29
CloudAdapter.cs
in libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.Core
238 19 27
LuisRecognizer.cs
in libraries/Microsoft.Bot.Builder.AI.LUIS/V3
276 10 26
TemplateErrors.cs
in libraries/Microsoft.Bot.Builder.LanguageGeneration
59 - 26