[Résolu] Optimisation ou essentialisme ?

On parle de tout et de rien (vos jeux préférés, films, manifestations diverses, etc...)
Répondre
Override
Messages : 143
Inscription : 04 Nov 2016 20:08

[Résolu] Optimisation ou essentialisme ?

Message par Override » 14 Juin 2018 14:24

Bonjour à tous, le titre de ce topic est assez spécial :lol:

En fait au niveau du code pur et dur on a chacun notre manière de rédiger, d'insérer des espaces ou quoi pour mieux s'y retrouver. De même au niveau des méthodes et tournures de certains systèmes

Au bout d'un moment j'ai commencé à passer plus de temps sur l'optimisation du code, pour qu'il prenne le moins de place et soit le plus efficace possible, pour pouvoir l'adapter et le réutiliser ce genre de choses. Ducoup je me démotive à programmer car il m'arrive d'écrire des trucs en dûr car impossible a conceptualiser, qui donc me posent le problème suivant, soit je recomence soit je modifie tout. Alors au final je retourne sur ce bon vieux minecraft et je perds du temps

Donc ça m'interesserait de savoir comment vous procédez quand vous vous retrouvez face à ce genre de problèmes :-/
:merci:

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Optimisation ou essentialisme ?

Message par boubouk50 » 14 Juin 2018 14:54

Professionnellement, je n'ai pas toujours le temps de corriger correctement, et il m'arrive (relativement souvent) de coder du dur ou de mapper à la main.
Maintenant, le mieux c'est d'y réfléchir en amont. Essayer de trouver un moyen générique de fonctionnement. Bien tout séparer correctement. Ne pas hésiter à étendre ou surcharger une classe.
Un exemple: J'avais une classe qui me permettais de gérer des transitions par fondu, que je collais à tout mes components Image qui en avaient besoin. Quand j'ai découvert les extensions de classe, j'ai étendu la fonction Image qui possède donc maintenant cette fonction de fondu. Un simple appel dans le code et le tour est joué.

Je vois cela comme une réparation. Un pneu crevé par exemple: tu as le choix entre: rouler sur la jante (ça pique), rouler avec du produit gonflant à l'intérieur (tu finis sur la jante), rouler avec une galette (tu roules pas vite), rechaper ton pneu (c'est reparti), acheter un nouveau pneu adapté (encore mieux).
Dans tous les cas, ça roule, mais dans le meilleur, tu es tranquille. C'est pourquoi, pour moi, quand j'ai le temps, j'essaie au maximum de génériser mon code. C'est plus flexible et plus réutilisable.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

Re: Optimisation ou essentialisme ?

Message par DevAmat » 14 Juin 2018 16:40

Les solutions à ta problématique sont complètement dépendantes de ton niveau de code et de tes connaissances.
Personnellement, j’estime que je "sais" coder et scripter mais j'ai aussi conscience de mes lacunes techniques. Si je ne pense que optimisation pure, je suis foutu car je n'aurai pas les moyens de mon ambition, et j’échouerai par dépit...
J'ai donc appris à ce que les choses soit bien défini dans mon esprit puis sur du papier. Ensuite je code. Si le code devient compliqué à faire ou à maintenir alors je repense à la conception. En ce ce qui concerne le code pure, c'est un peu la même chose. Je n'essaye pas de codé plus complexe que j'en suis capable. Si tu codes mais que c'est impossible de te relire ou de reprendre ton code alors c'est inutile. Je préfère la succession de code "simple" que un seul illisible.
Tu dis:
j'ai commencé à passer plus de temps sur l'optimisation du code, pour qu'il prenne le moins de place et soit le plus efficace possible
Un code qui "prends de la place" n'est pas forcement moins optimisé et est parfois plus lisible.
Pour l'efficacité du code je suis d'accords mais c'est parfois complexe à évaluer.

Edit: La chose à prendre en considération est aussi la finalité du projet. Ça ne sert à rien de perdre du temps et de l'énergie à optimiser si le gain de performance est ridicule. Sauf si tu travail sur un projet dont la finalité est d’être optimisé (par exemple logiciel embarqué). Alors je ne dis pas qu'il ne faut pas améliorer son code mais si tu atteints tes objectifs de performance sur le matériel cible c'est l'essentiel.
J'ai appris à coder car c'est une manière de créer (notamment des jeux) et non pas par passion du code. Ma vision des choses est adaptée à mon parcours, mes connaissances ma technique etc. D'autres aurons une autre vision toute aussi légitime.
Dernière édition par DevAmat le 14 Juin 2018 17:40, édité 2 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Optimisation ou essentialisme ?

Message par boubouk50 » 14 Juin 2018 16:59

"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Override
Messages : 143
Inscription : 04 Nov 2016 20:08

Re: Optimisation ou essentialisme ?

Message par Override » 14 Juin 2018 17:29

Très intéressant ces extensions de classes, je pensais que ça s'utilisait que sur les enumerations, merci Boubouk de m'avoir fait découvrir en tout cas, tout comme ce site que tu as partagé, une pépite :)

Au final, je ne voyait pas vraiment les choses comme ça, je me prenais trop la tête à vouloir faire du "beau code" en pensant que coder en dur c'était mal coder :langue: Je passais du temps c'est vrai à structurer mes projets mais je n'avais pas réaliser l'étendu de l'importance de ce travail en amont. Vos réponses m'on plutôt bien aidé à cerner ce problème, en réalité comme tu dit DevAmat, ce qui compte c'est bel et bien de le pondre ce jeu au final :D

Que se soit extrêmement bien structuré ou plutôt sale à voir, tant que le projet avance et respecte les charges c'est parfais :mrgreen:
:merci:

Avatar de l’utilisateur
NDrew
Messages : 581
Inscription : 25 Oct 2013 15:14
Localisation : Clermont-Ferrand

Re: Optimisation ou essentialisme ?

Message par NDrew » 14 Juin 2018 17:46

Il faut surtout faire la part des choses. Il y a ce qu'on sait qu'on doit faire et ce qu'on fait. On peut aussi continuer avec des grand principes en se disant que mieux vaut une 205 qui roule qu'une porche au garage.

En gros ton but c'est de faire ton application de ton mieux. Des fois tu réalise qu'une partie de code est difficile à maintenir ou que tu n'arrive pas à coder une nouvelle fonctionalité à cause d'un choix fait préalablement. C'est à ca que servent les design pattern. Ce sont des idées générales qui ont été écrites pour régler des soucis récurents.

A mon avis, discuter avec d'autre dev permet de connaitres de nouvelles techniques qui pourront faire que tes prochaines archi soient plus simple/maintenable.

Perso je suis un gros fan des briques simples. Chaque brique fait un petit travail et peut être remplacée facilement sans tout casser.

NDrew

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: Optimisation ou essentialisme ?

Message par E3DStef » 14 Juin 2018 23:53

Oui Alex a réalisé quelques articles sympa ^^

Et sinon pour la question, en fait cela n'en est pas une.
La vraie question est j'ai le temps ou pas le temps ? Si j'ai le temps je peux optimiser à mort, faire de la POO à tout va "hachement" chiadée toussa...
Si pas le temps, tu fais comme tout le monde : "au mieux" et si t'es pro tu :
- commente ton code pour y revenir plus tard """"le jour où tu auras du temps (ndlr = jamais mais sait-on jamais ?)""""
- créer des scripts robustes

A+

stef
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Optimisation ou essentialisme ?

Message par F@B » 15 Juin 2018 19:33

Ma réponse se situe entre NDrew et Stef.

Parfois faire bien prend pas beaucoup plus de temps et d'argent, il m'est déja arrivé de devoir refaire (au frais du client) tout une UI, et j'étais bien content que mon code ça a peu près du MVC, même si pour le faire comme ceci j'ai du y passer un peu plus de temps.

Comme dit Steph on a pas toujours le temps et le budget, mais a contrario on peut en gagner du temps quand même et monter en compétence pour pousser certains concepts.

Quand a l'optimisation performance ça c'est encore un autre sujet qui consiste a connaitre suffisamment le moteur pour l'exploiter au maximum, quand on en a les capacités.
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Override
Messages : 143
Inscription : 04 Nov 2016 20:08

Re: Optimisation ou essentialisme ?

Message par Override » 16 Juin 2018 18:29

Ok je vois, je me suis fait un avis de tout ça et finalement je pense que le mieux c'est de faire au mieux en fonction du temps, sans trop se prendre la tête lorsque l'on est limité le tout en visant des scripts réutilisable si possible.

Bon en tout cas vous m'avez donner une autre vision des choses qui est plutôt pas mal, je pense que je suis satisfait de ce qu j'en tire :mrgreen:

Ps : Désolé pour les temps de réponses, mais bon vous comprendrez, le bac ne pardonne pas :rougefaché:
:merci:

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: Optimisation ou essentialisme ?

Message par E3DStef » 17 Juin 2018 18:56

Override a écrit :
16 Juin 2018 18:29
Ps : Désolé pour les temps de réponses, mais bon vous comprendrez, le bac ne pardonne pas :rougefaché:
No pblm mon fils est aussi en plein dedans ^^

Je mets ton post en résolu si tu as les réponses que tu souhaites.

A+

Stef
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Répondre

Revenir vers « Discussion générale »