Consistently mark types with `| MaybeNone` whenever it is applicable
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 5.1k
- Forks
- 2.1k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 82
Beschreibung
I noticed that there's a special type alias MaybeNone that represents this specific intent:
We didn't dare to change the type to
X | Noneso instead we changed it toAny
You can find an example in a relatively recent addition of this.
And while this approach makes me very sad, it is good that such cases are marked with MaybeNone, for the purpose of looking at them specially. Maybe some type checker will arise that will have specific handling for it and do something smarter instead.
With that in mind, it would be good to ensure that all such cases are consistently marked.
I noticed at least one case that is not marked like this. It has | Any directly written instead of | MaybeNone. This is in re.match.group*:
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit stdlib/re.pyi, insbesondere mit den Definitionen von re.match.group* um die Zeilen 93–117, und vergleichen Sie sie mit dem MaybeNone-Alias in stdlib/_typeshed/init.pyi. Überprüfen Sie ähnliche Fälle in den Stubs, in denen diese Absicht mit Any dargestellt wird; abgeschlossen ist die Arbeit, wenn die zutreffenden Fälle durchgehend stattdessen MaybeNone verwenden und keine unmarkierten Ausnahmen gefunden wurden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Refactoring
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100