Files
DP44/enriched-qwen3-coder-next/Common/DTS.Common.Core.md
2026-04-17 14:55:32 -04:00

63 lines
2.8 KiB
Markdown

---
source_files:
- Common/DTS.Common.Core/DTSConstants.cs
generated_at: "2026-04-16T14:07:39.111868+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "481b6b8f305c2ca6"
---
# Documentation: DTSConstants.cs
## 1. Purpose
This module provides a centralized location for constant values used across the DTS system. It currently exposes hardcoded file paths to configuration files for the DTS Viewer application. As a static class, it serves as a simple key-value store for string constants that need to be referenced from multiple locations in the codebase.
---
## 2. Public Interface
### Class: `DTSConstants`
- **Kind**: `public static class`
- **Namespace**: `DTS.Common.Core`
#### Members:
| Name | Type | Value |
|------|------|-------|
| `CustomConfigPath` | `public const string` | `@"C:\dev\DTS.Viewer\bin\Debug\DTS.Viewer.exe.config"` |
| `ViewerConfigPath` | `public const string` | `@"C:\dev\DTS.Viewer\bin\Debug\DTS.Viewer.exe.config"` |
Both members are compile-time constants accessible via `DTSConstants.CustomConfigPath` and `DTSConstants.ViewerConfigPath`.
---
## 3. Invariants
- Both constants are compile-time literals (`const`), meaning their values are embedded directly into calling assemblies at compile time—not resolved at runtime.
- Both constants reference Windows-style absolute file paths.
- Both constants currently reference the **identical path**, despite having different names.
---
## 4. Dependencies
### This module depends on:
- **None** — No `using` directives or external references are present.
### What depends on this module:
- **Cannot be determined from source alone.** Any code referencing `DTS.Common.Core.DTSConstants` may depend on these constants. The paths suggest consumers are related to `DTS.Viewer` configuration loading.
---
## 5. Gotchas
1. **Duplicate values with different names**: `CustomConfigPath` and `ViewerConfigPath` are named differently but contain the exact same path value. The intended semantic difference is unclear from source alone.
2. **Hardcoded development paths**: Both constants point to `C:\dev\DTS.Viewer\bin\Debug\`, which is clearly a local development directory. This will fail on any machine without this exact path structure and appears unsuitable for production deployment.
3. **Debug build reference**: The path explicitly references `Debug` build output, suggesting these constants may be placeholder/development-only values.
4. **Compile-time constant behavior**: Because these are `const` (not `static readonly`), changing these values requires recompilation of all dependent assemblies. A runtime configuration approach would be more flexible.
5. **Suppressed naming convention**: The file includes `// ReSharper disable InconsistentNaming`, suggesting the naming of these constants may deviate from project conventions.