Feature(CtPackage): Implement null object for CtPackage
#3 705 ouverte le 19 nov. 2020
Métriques du dépôt
- Stars
- (1 933 étoiles)
- Métriques de merge PR
- (Merge moyen 19j 11h) (49 PRs mergées en 30 j)
Description
Problem
Sometimes code elements have no package and getPackage return nulls. This introduces null checks and surprises for new developers. https://github.com/INRIA/spoon/commit/84c84e16163ff18611f82c69d5246d642e3fed86 as seen here, package can be null.
Solution
A null object[0],[1] could improve code quality. A comparable implementation is NoSourcePosition. NoSourcePosition removed all null checks for positions and improves the code quality.
Your task
Design a null object and refactor old code. Find a solution for getSimpleName() as the empty String is reserved for default package.
The PR should include:
- Design a null object for CtPackage
- Improve already existing test code and remove unnecessary null checks
It's a good starter issue, feel free to give it a try and ping if you need help for some design decisions.
Literatur/Links
[0] https://en.wikipedia.org/wiki/Null_object_pattern [1] https://www.baeldung.com/java-null-object-pattern