KlausLoeffelmann/MvvmForms
70.8
Strong · 1 October 2026
39.6k
lines of production code
VB.NET
with C#
2
measurements over time
What this system is
This repository is a legacy .NET codebase, originally structured around a CLI container for MVVM Forms demonstrations, that has evolved primarily through extensive dependency management and maintenance. The system's recent trajectory is defined by a massive, ongoing refactoring effort within the 'src/dev' directory, involving hundreds of commits and fixes to existing behavior. It currently functions as a maintenance-heavy project focused on stabilizing and modernizing its internal development sources rather than introducing new features.
Architecture
- Container: MvvmFormsCSharpDemos (cli)
How it got here
2015 — Sample project addition and removal
2 changes.
This brief period involved the creation and immediate deletion of the WindowsApplication1 sample project. The work consisted of an initial release followed by its removal, indicating a short-lived experiment or cleanup of sample code.
2018 — 116 commits updating dependencies (110 manifests)
1 change.
A dependency / build maintenance change in (dependencies) — 116 commits (7 fixs), 110 files.
June 2026 — 215 commits (47 fixes) modifying src/dev
1 change.
A change to existing behaviour in src/dev — 215 commits (47 fixs), 1513 files.
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 73 → 71 (-2.3)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 62 → 58 (-4.7)
- Architecture 96 → 97 (+1.5)
- Maturity 75 → 76 (+0.4)
- Readiness 84 → 82 (-1.8)
- Security 100 → 100 (+0.0)
Resolved (5)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- The parameter 'Formular' (German for Formula) is used in a context where the type and other members use the English term 'Formula' (e.g., FormulaEvaluator, FormulaEvaluatorFunction). This mixes German and English vocabulary for the same concept.
- The parameter 'Straße' (German for Street) is used alongside properties named 'Street' (English). This mixes German and English vocabulary for the same domain concept.
- redundant comment (src/dev/MvvmFormsCSharpDemos/DemoData/DemoData.cs)
New (51)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator (RC-Ver)/Converter/StringNotEmptyToBooleanConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator (RC-Ver)/Converter/StringNotEmptyToBooleanConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator (RC-Ver)/Converter/StringNotEmptyToBrushConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator (RC-Ver)/Converter/StringNotEmptyToBrushConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator/Converter/StringNotEmptyToBooleanConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator/Converter/StringNotEmptyToBooleanConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator/Converter/StringNotEmptyToBrushConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator/Converter/StringNotEmptyToBrushConverter.cs)
- CommentedOutCode (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator/FunctionPlotter/FunctionPlotterRenderer.xaml.cs)
- Duplicated block (20–21 lines × 2) (src/dev/MvvmFormsAnalyzer/MvvmFormsAnalyzer/CodeFixProviders/CodeFixProvider.vb)
- Duplicated block (22 lines × 2) (src/dev/WinForms.MvvmServiceLocatorBase/UI/WinFormsMvvmMessageBox.vb)
- Duplicated block (23–24 lines × 2) (src/dev/Samples/MvvmCalculator/ModernMvvmCalculator (RC-Ver)/App.xaml.cs)
- EmptyCatchBlock (src/dev/Samples/MvvmCalculator/MvvmCalculator/FunctionPlotter/FunctionPlotterRenderer.cs)
- EmptyCatchBlock (src/dev/Samples/MvvmCalculator/MvvmCalculatorVMLib/FunctionPlotterViewModel.vb)
- HackComment (src/dev/Samples/MeterReaderMvvmForms/MRViewModelLibrary/ViewModels/BuildingViewModel.vb)
- Inconsistent casing for the postal code concept: 'ZIP' is fully uppercase, whereas other location properties like 'City' and 'Street' follow PascalCase. While 'ZIP' is a common acronym, the inconsistency with the casing style of other similar properties in the same namespace is notable.
- Inconsistent language usage for address components: 'Straße' (German for Street) and 'Plz' (German for Postal Code) are used as parameter names, while other address-related parameters in the same codebase use English terms (e.g., 'City', 'Street', 'Zip' implied by context of 'MvvmFormsCSharpDemos.Contact.ZIP').
- InvertedNullGuard (src/dev/WinForms.MvvmServiceLocatorBase/UI/WinFormsMvvmPageNavigator.vb)
- Low cohesion: BindableBase (LCOM4 4) (src/dev/Legacy.EFLViewModelBase/BaseClasses/BindableBase.vb)
- Low cohesion: MvvmViewModelBase (LCOM4 4) (src/dev/Legacy.EFLViewModelBase/MvvmViewModelClasses/MvvmViewModelBase.vb)
- …and 31 more
Architecture
- Unchanged — 1 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
KlausLoeffelmann/MvvmForms was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 1b4c8ef7107946d1de0a7898bdaf2398d6c4e3ad — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.