carlospata / my-personal-diet

0 stars 0 forks source link

Impressive #28

Closed Helias closed 2 weeks ago

Helias commented 2 years ago

Da due studenti del primo anno non mi aspettavo un progetto simile.

Non avrei alcun appunto da fare anche perchè non mi aspetto tanta professionalità da studenti della triennale.

Bravissimi! 🚀 🥇

Se vi siete divertiti e vi va di migliorare tecnicamente questo progetto al fine di imparare potreste:

Una cosa che si impara solo col tempo e "masterando" il lingauggio di programmazione python è la qualità del codice, su quella avrei degli appunti da fare che saranno probabilmente simili anche a pylint, ma non mi aspetto da nessuno di scrivere codice di qualità (nemmeno da me stesso 😁 ). Avete scritto tante funzioni con if, elif e dei return, in realtà quando in un if è scritto un return si può scrivere direttamente if al posto di elif per migliorare leggibilità e forse un po' di efficienza nel codice, inoltre, nella funzione basal_metabolism(è presente una variabile res che si potrebbe omettere, al posto dell'assegnazione res =è possibile mettere direttamente return ... in modo da risparmiare una variabile e quindi della memoria.

Comunque, tutte queste ottimizzazioni si possono fare automaticamente usando pylint come linter, il vostro progetto mi è piaciuto tantissimo, ma sappiate che si può sempre imparare e migliorare.

⭐ ⭐ ⭐ ⭐ ⭐ 🚀

carlospata commented 2 years ago

Ciao @Helias, ho provato a inserire tutto quello che hai scritto tra cui pylint, di cui il test falliva anche perchè ad esempio mi segnalava come errore la riga vuota, ma personalmente la uso per un fatto di leggibilità. Comunque uno dei problemi che ho riscontrato è stata la comunicazione tra i vari file e le varie classi che spesso davano errore -> "Circular Import" (ex: class1 importa class2 che a sua volta importa class1). Volevo capire se c'è un modo pulito per risolvere questo problema oppure in questo caso è sbagliata la progettazione del codice.

Helias commented 2 years ago

è possibile che sia sbagliata la progettazione del codice, comunque se alcuni warning/errori di pylint vi sembrano superflui potete "ignorarli" o "disabilitarli" nel file .pylintrc, comunque per me il progetto è finito nei prossimi giorni generemo gli attestati firmati e li invierò via email le migliorie sono opzionali, a vostra discrezione

carlospata commented 2 years ago

Va benissimo, grazie 👍