-
Notifications
You must be signed in to change notification settings - Fork 266
Open
Milestone
Description
Objective
Rename indicator classes and files to achieve consistent naming across all styles (Plan Phase 4).
Scope
Major renaming initiatives:
-
Add "Series" suffix to indicator partial classes (~70 indicators):
partial class Ema→partial class EmaSeriespartial class Rsi→partial class RsiSeries- Aligns with existing
*Huband*Listsuffix patterns
-
Rename indicator files to match class names (~210 files):
Ema.StaticSeries.cs→EmaSeries.cs(main file, no extender)Ema.StreamHub.cs→EmaHub.cs(exact class match)Ema.BufferList.cs→EmaList.cs(exact class match)Ema.Models.cs→EmaResult.cs(exact class match)Ema.Utilities.cs→EmaSeries.Utilities.csOREmaExtensions.cs
-
Standardize test class naming (~280 test classes):
- Series:
Ema→EmaSeriesTests - Buffer:
Ema→EmaBufferListTests - Hub:
EmaHubTests→ keep as-is (already correct) - Catalog:
EmaTests→EmaCatalogTests
- Series:
-
Fix indicator-specific inconsistencies:
- Dynamic indicator partial class alignment
- Other indicators with directory ≠ class name mismatches
Preconditions
REQUIRED before starting:
- ✅ Phase A completed and merged (Phase A: Directory reorganization and static class alignment #1811)
- ✅ All Phase A validation criteria passing
- ✅ Repository on stable base
- ✅ No pending PRs with indicator file dependencies
Recommended:
- Communicate timeline to community (breaking changes in file paths)
- Prepare migration guide for contributors with pending PRs
- Consider doing this after a release to minimize disruption
Implementation Steps
- Create feature branch from latest v3 (after Phase A merged)
- Indicator class renaming:
- Task 4.8: Add "Series" suffix to ~70 indicator partial classes
- Task 4.9: Rename ~210 indicator files to match class names
- Task 4.10: Fix indicator-specific inconsistencies (Dynamic, etc.)
- Test class renaming:
- Task 4.11: Standardize ~280 test class names with consistent suffixes
- Update all references:
- Update consuming code and tests
- Update catalog entries
- Update documentation examples
- Update migration guides
- Class/file mismatch fixes:
- Task 4.1: Fix utility class/file mismatches
- Task 4.2: Resolve StreamHub naming conflicts
- Task 4.3: Document partial class naming rationale
- Task 4.4: Review Candlesticks/Candles naming
- Task 4.5: Audit all static classes for name matching
- Task 4.6: Update XML documentation
- Task 4.7: Run targeted tests
Validation Criteria
Must pass ALL before merging:
-
Build verification
- Solution builds with zero warnings (Debug + Release)
- No broken references in consuming projects
- All namespaces remain unchanged (no API breaks)
-
Test suites
- 100% unit test pass rate
- 100% integration test pass rate
- 100% regression test pass rate
- Performance benchmarks ≤2% regression
-
Naming consistency
- All indicator files match class names exactly
- All test classes use consistent suffix patterns
- No class/file name mismatches remain
-
Code quality
dotnet format --verify-no-changespasses- Roslynator analysis clean
- XML documentation complete and accurate
-
Documentation
- All code examples updated
- Migration guide complete
- API documentation regenerated
- Breaking changes documented in changelog
-
Catalog integrity
- All catalog entries updated with new class names
- Catalog tests passing
- Automation still works with renamed classes
Estimated Effort
Time: 24-36 hours
- Class renaming: 12-16 hours
- File renaming: 8-12 hours
- Test renaming: 4-6 hours
- Validation: 2-4 hours
Risk: High
- Largest change set (500+ file renames)
- High merge conflict potential
- External developer impact (file path changes)
- Requires comprehensive testing
Success Metrics
- All 70 indicator Series classes have "Series" suffix
- All 210 indicator files match class names exactly
- All 280 test classes use consistent naming patterns
- Zero class/file name mismatches
- All tests passing
- Documentation updated
- Migration guide complete
Migration Support
For contributors with pending PRs:
- Migration guide will document renaming patterns
- List of renamed files will be provided
- Support available via discussions
Related
- Parent: File reorganization for .NET naming conventions #1810
- Prerequisite: Phase A: Directory reorganization and static class alignment #1811 (Phase A)
- Plan:
docs/plans/file-reorg.plan.md(Phase 4)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Projects
Status
No status