INRIA/spoon

Feature(CtPackage): Implement null object for CtPackage

開放

#3,705 建立於 2020年11月19日

 (9 則留言) (0 個反應) (0 位負責人)Java (383 個分叉)github user discovery
featuregood first issuerefactor

倉庫指標

星標
 (1,933 顆星)
PR 合併指標
 (平均合併 19天 11小時) (30 天內合併 49 個 PR)

描述

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

貢獻者指南