New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/extracompanyname #491
base: develop
Are you sure you want to change the base?
Conversation
Cela fait trop de changements ; ce ne sera pas pour la 1.1. La factorisation, j'ai déjà travaillé un peu dessus, mais il restait beaucoup de cas spécifiques (j'avais commencé par les adhérents et les contributions). À suivre :) |
84b0263
to
e4b3aa1
Compare
À bien y réfléchir, la factorisation ; je ne suis pas pour. C'est pour moi prématuré, et si un tel chantier devait être mené, ce serait de manière bien plus globale. Il aurait été préférable d'aborder avant ce sujet via un ticket d'évolution dédié. De plus, cela représente beaucoup trop de travail pour moi à relire, corriger, puis maintenir. Certes, répéter le code n'est pas très OOP ; mais pour le moment ce sera suffisant - surtout pour une fonctionnalité mineure. |
85f7820
to
d31630f
Compare
Slt, Quand je lance les tests un par un dans l'EDI, certains ne passent pas, car la base contient des données d'un test précédent. L'ordre des tests semble important ? Du coup, peux-tu me dire précisément comment tu passes les tests ? Sinon, tous les tests Repository / Entity sont OK. Tu pourrais gagner un temps significatif en utilisant une approche objet sur les classes Repository/Entity. Manu |
Non, pas spécialement. En revanche, chaque classe de tests est responsable de nettoyer les données qu'elle a ajoutées (généralement dans la méthode
Oui, oui. Quels que soient les "avantages", il y a aussi beaucoup d'inconvénients. Et comme je l'ai déjà dit il reste à mes yeux énormément de travail avant qu'une telle modification soit envisageable sereinement ; et sur la totalité des objets. Bref, je n'accepterai pas les modifications de factorisation - navré. |
Slt,
Pour répondre à cette demande :
https://bugs.galette.eu/issues/1807
A priori, ça fonctionne correctement. J'ai testé avec les tradutions.
Par ailleurs, j'ai refactorisé le code :
ajouté une classe RepositoryTrait qui s'occupe de toutes les méthodes de base getList(), getAll(), load(), installInit(), update()...
ajouté une classe de base Entity qui s'occupe de la connexion avec pg/mysql, elle gère les getters(), setters(), les propriétés virtuelles, les traductions automatiquement
Ainsi, dépôts et entités Title(s), PaymentsStatus, LegalStatus partagent le même code.
les classes Titles, PaymentsStatus et LegalStatus seront quasi vide.
En général, en programmation orienté objet, dès que tu as deux classes qui se ressemblent à 90% en termes de code et de méthodes, c'est que tu peux probablement faire autrement.
Je ne suis pas sûr d'être très disponible dans les 15 jours qui viennent, je mets le code ici, mais j'y reviendrais.
Manu