danielgtaylor / danielgtaylor/python-betterproto
Simplify the generated code by explicitly removing dataclasses decorator
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 1.8k
- Forks
- 234
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
If PEP 681 is accepted we would be able to simplify the generated code by removing the dataclasses decorator and then implictly make betterproto.Messages be dataclasses by defining __init_subclass__ and retain the typed constructor:
def __init_subclass__(cls) -> None:
dataclasses.dataclass(eq=False, repr=False)(cls)
I think this would be a nice readabilty improvement.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par examiner la sortie des messages générés par le générateur de code et l’implémentation de betterproto.Message, en particulier la manière dont init_subclass appliquerait dataclasses.dataclass. Vérifiez les exigences de PEP 681 au regard de la prise en charge de Python 3.6+ par le projet. Le travail est terminé lorsque le code généré n’a plus besoin du décorateur, tandis que les messages conservent le comportement de dataclass et des constructeurs typés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- tooling
- Type d'issue
- Refactorisation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100