Developers often start with a structural tuple types because it's sufficient for local code, but as the data flows across method boundaries or becomes part of a public API, tuples hurt clarity and evolution: unnamed positional members hide intent, adding or reordering elements is brittle, there's no place for argument validation, etc.
This project delivers a highly voted feature request for ReSharper/Rider — refactoring that converts tuple-like types, such as System.Tuple<>
or System.ValueTuple<>
into a first-class named type.
Using ReSharper's PSI (Program Structure Interface, the code model) you'll build an action with a small UI that generates a new type declaration and updates all usages while preserving the original semantics.
Programming skills in C#, Java, or Kotlin
Fundamentals of PL/compilers: AST, types
Problem-solving: can turn a rough spec into a prototype
Communication: written/spoken English and willingness to collaborate asynchronously
Nice-to-haves:
Hands-on IDE tooling (ReSharper/Rider/IntelliJ)
Basic use of profilers to validate performance