-
-
Notifications
You must be signed in to change notification settings - Fork 16
🔬Look for areas of dotnet 7 & 8 improvements #810
Copy link
Copy link
Open
Labels
low-priorityLow PriorityLow Priority
Description
Complete The Item Below
- I have updated the title without removing the 🔬 emoji.
What To Research
Look for areas of improvement and csharp 11 & 12 features to take advantage of throughout the code base. For each feature, create issues if possible to perform the refactoring work to implement the changes.
Resources:
Ideas:
- use of
requiredkeyword (C# 11):
Look for areas where therequiredproperties can and should be used.- Go here for more information on required properties.
- Use of
CollectionsMarshal- Goto this video (Nick Chapsas)
nameofimprovements (C#11):
Go through the code base and improve places where thenameofkeyword can be used. One of the biggest improvements can be in attributes.- Use Of
SearchValuesstruct(C#12):- This can give us some huge perf benefits. Especially when it comes to rendering text. Go through the code base and find all areas where this could help us out.
- Go here for a video on details of the new type.
- Look for
.ToArray()uses and find how to remove them to reduce allocations - Look into this blog post for more string perf opportunities
- Look for opportunities for improvement by using the
SearchValues<T>feature.- This requires dotnet 9
Research Results
- Did not find any use cases for the
requiredkeyword
Things to improve:
- Improve the
KeyboardDataService.csfile by doing suggested refactorings of theEnumtype.
Acceptance Criteria
- [ ] Research complete and issues created _(if needed)_.
- [ ] If any issues were created, they have been added to the _**Related Work**_ section below.
ToDo Items
- Priority label added to this issue. Refer to the Priority Type Labels section below.
Issue Dependencies
No response
Related Work
No response
Additional Information:
Priority Type Labels
| Priority Type | Label |
|---|---|
| Low Priority | low priority |
| Medium Priority | medium priority |
| High Priority | high priority |
Code of Conduct
- I agree to follow this project's Code of Conduct.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
low-priorityLow PriorityLow Priority
Type
Projects
Status
✅Done