[Go SDK] starcgen improvements
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 4.7k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 205
Description
The starcgen code generator works OK, but could do with some improvements.
* Uniquifying imports (handling multiple imports with same short suffix)
* Generating multiple iterNatives (eg when the normal symbol is already taken).
* Keying off of beam.Register* calls rather than command line.
** Avoids duplicating lists of identifiers, and improves default behavior.
** Possibly have a new beam.RegisterDoFn which can take a list of DoFn and struct types a function or a struct, and key off those, reducing boiler plate somewhat.
* Perhaps having a specific single import alias package for components required for import, rather than the current 3-4.
* Generate efficient Beam Schema coders for registered types?
* Handle SplittableDoFns properly.
Imported from Jira [BEAM-9616](https://issues.apache.org/jira/browse/BEAM-9616). Original Jira may contain additional context.
Reported by: lostluck.
Contributor guide
Research direction
Start at the starcgen code generator entry point and inspect how command-line identifiers and beam.Register* calls currently drive generation. The issue has several independent goals, including import aliasing, multiple iterNatives, registered-type schema coders, and SplittableDoFns; completion would require narrowing these into a defined scope with corresponding tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100