microsoft / microsoft/calculator
Centralize BiDirectional string code in the CalcViewModel
Open
Nobody has claimed this yet.
approved
codebase quality
help wanted
Pri: 2
- Dominant language
- C#
- Stars
- 31.1k
- Forks
- 5.8k
- PR merge metrics
- No merged PRs in 30d
Description
BiDi code is spread out - Memory panel sets BiDi in the view model, while History sets it in the CalcManager. The UnitTests also do their own thing. We should centralize the code into utility functions in the VM and then have unit tests for their functionality.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing BiDi handling across the CalcViewModel, CalcManager, Memory panel, History, and UnitTests. Centralize the behavior in CalcViewModel utility functions, update the affected consumers, and add unit tests that verify the utility functionality and consistent handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100