Premier truc que je vois et tu ne le modifie pas, c'est le mélange de "snake_case" et le "camelCase". Dans PEP la convention est snake, mais suggère surtout d'être uniforme (un peu comme les space/tab).
@tigidou33447 сағат бұрын
"Ramener le typage" et tu es en Python... euh... pourquoi ? Si tu veux vraiment avoir du typage, pourquoi tu n'utilise pas un autre langage beaucoup plus adaptés à tes besoins (Rust, Java, C#) ?
@LaMaliceCode7 сағат бұрын
Le typage même s’il est inutile en Python servira toujours à l’IDE et à sois même (ou au développeur du futur) et ça ça fait pas de mal ! Mais je vois que tu commentes pas mal mes vidéos là. C’était mes premières vidéos et la plupart de ce que tu dis es vrai! Merci à toi déjà de prendre ce temps :) Des que je rentre chez moi je pense supprimer ces vidéos et je les referais « mieux » prochainement
@tigidou334417 сағат бұрын
Les gens, sachez ce qu'il dit n'est vraiment pas consensus. Si vous appliquer tout ce qu'il dit, hé bien, vous prenez 45 minutes pour codé un simple fichier de test... ce qui est vraiment beaucoup trop. Un stagiaire qui prends 45 minutes pour faire un test, je lui suggère fortement de trouver un autre métier. Le paradigme le plus important selon moi c'est : "Keep It Simple". Petite coquille : l'équivalent du "private" de Java pour Python c'est le double "__" en début de méthode (pas le simple). Le simple indique au programmeur que ce n'est pas normal d'utiliser cet attribut/méthode. (Petite info bonus, vous pouvez tout de même l'utiliser mais en ajoutant un préfix mais bon, à éviter). Bisou
@UtaCananКүн бұрын
Merci pour l'explication! Un peu hors sujet, mais je voulais demander: Mon portefeuille OKX contient des USDT et j'ai la phrase de récupération. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). Pourriez-vous expliquer comment les déplacer vers Binance?
@leomacias3173 күн бұрын
Je m'abonne pour la deuxième fois. Merci
@mechackmbemba8393 күн бұрын
Pertinent, drôle et une explication excellente. Aller je m'abonne.
@regislikassi26475 күн бұрын
Super conseil
@ShuffledBloow5 күн бұрын
C'est complètement con comme conseil. 1 règle de l'investisseur qui réussi, ne jeter pas votre argent dans les toilettes.
@LaMaliceCode3 күн бұрын
Tu sais le monde est plus complexe qu'il n'en a l'air. Un conseil simple, peut cacher une certaine complexité derrière. Ici il pose la question: Est-ce que le cas que je suis en train de gérer, arrivera ? Oui parfois on se créer des scénario dans nos têtes qui n'arriveront jamais et on s'en rendra compte si et seulement si on se pose les bonnes questions.
@ouassildahimene46356 күн бұрын
j'aime beaucoup ton approche, sympa. continue d'en faire des commes ça !
@kwassi737 күн бұрын
Si je ne m'abuse, le son est trop bas
@serekaba69117 күн бұрын
vous êtes vraiment super en explication
@tigidou33449 күн бұрын
Pourquoi tu utilises Python avec les types (qui seront totalement ignoré quand le code sera bytecodé) ? Dans le sens, pourquoi ne pas aller avec un autre langage ?
@LaMaliceCode9 күн бұрын
Hello merci pour ton commentaire ! J'avoue que c'est une raison plus "professionnelle" car je suis dans la data, et on y fait beaucoup de Python. Sa syntaxe est super simple, proche du pseudo-code, ce qui rend le code très lisible et donc "clean codable" facilement ;)
@tigidou33449 күн бұрын
Faut relativer avec SOLID, des fois, c'est vraiment long et pénible de suivre la méthode qui appel l'autre qui appel l'autre qui appel l'autre qui finalement, n'était pas celle là mais l'autre... Quand cela devient compliqué, là tu sépares.
@IBelieveInCode14 күн бұрын
Intro de la vidéo : "Notre métier de développeur il est complexe, il est difficile..." La suite : des conseils applicables seulement sur des projets faciles... PS : affirmer qu'une fonction de 15 lignes est "trop longue", je ne commente même pas...
@denisjean-bastien125314 күн бұрын
Continue! J'adore ! Hâte à la prochaine vidéo ! Et merci pour ce contenu 😊
@Sql3717 күн бұрын
Super, merci !
@MathiIisss17 күн бұрын
alors le nom, ok. 100% d’accord. Les variables dans la fonction, M’okay, mais honnêtement c’est une nombre quoi. La function trop longue ? C’était littéralement une récursive avec un cas de sortie. Faut pas pousser.
@elytes9617 күн бұрын
Je ne vois pas où tu vois une fonction récursive ici.
@MathiIisss17 күн бұрын
@@elytes96 my bad j'ai regarde trop vite, mais ca change rien a mon propos
@thomasrousseau42418 күн бұрын
Hum pas d'accord. Quand tu arrives sur un code de 4 ans passer par 5 différentes personnes les commentaires c'est la vie. En fait commenter et avoir du code claire c'est compatible. Donc autant faire les 2. Ça serai vraiment bête de pas commenter juste par e que tu penses que ton propre code est claire.
@LaMaliceCode17 күн бұрын
C'est sûr que les 2 sont possibles ! C'est sûr que 100% des commentaires ne sont pas "inutiles", mais l'objectif de mon message est surtout d'éviter d'écrire du code illisible tout en se cachant derrière l'excuse : "pas grave j'ai commenté pour expliquer"
@nellmili666418 күн бұрын
Seuls les commentaires de fonctions sont indispensables
@warfielko11 күн бұрын
Si ta fonction est nommée explicitement, et qu'elle fait qu'une seule chose, même pas
@chihoon_yi19 күн бұрын
bg
@ikonjoou19 күн бұрын
Merci d'apprendre les principes d'Oncle Bob aux juniors. ps: La jeune fille à la perle, tournée vers la droite c'est perturbant, si tu pouvais remettre ton image dans le bon sens au montage, ça serait parfait. désolée ;)
@LaMaliceCode19 күн бұрын
N'en dis pas plus j'y ferais attention pour la prochaine vidéo
@rousquille6620 күн бұрын
Hello, merci pour le contenu que tu proposes. Question, les kwargs ont-ils une utilité lorsqu'on applique les principes SOLID (hors décorateurs) ?
@LaMaliceCode19 күн бұрын
Hello merci à toi ! Les kwargs, ça peut être utile surtout pour garder du code flexible (ex: principe Open/Closed) en permettant l’ajout d’arguments optionnels sans modifier l’interface publique. Mais faut pas trop en abuser je pense, sinon ça peut rendre le code moins clair.
@rousquille6619 күн бұрын
@@LaMaliceCode merci 🙂
@greggs244420 күн бұрын
Salut ! J’ai découvert ta chaîne il y a quelques jours et tu fais un très bon contenu, je t’encourage à continuer comme ça ! Je me reconnais parfois dans les erreurs que tu montres et j’essaie d’améliorer ça dans mon quotidien de dev J’utilise souvent des dataframe pandas dans mon boulet et je me demande s’il vaut mieux nommer mon dataframe df (sachant qu’il évolue au fil du traitement) ou lui donner un nom plus explicite qui change ligne par ligne (exemple : df_raw, df_with_tax, df_to_export, etc.) Merci !
@greggs244420 күн бұрын
J’ajouterais que parfois un commentaire bien placé m’a aidé à comprendre pourquoi mon prédécesseur avait écrit une ligne (et c’est quasi tout le temps suite à une demande d’un client, donc pas vraiment de logique suffisante pour être retranscrite dans le nom de la variable sans explication)
@LaMaliceCode19 күн бұрын
Hello merci pour ton commentaire ! C'est toujours mieux d'être le plus explicite donc bien nommer son df à chaque fois. Par contre si t'as des problématiques de mémoire, faut penser à delete la variable précédente (del "nom de variable") une fois qu'elle n'est plus utilisée, ainsi de suite. C'est sûr que certains commentaires peuvent être utile dans certains cas ;) , je parle plus des dev qui mettent "trop de commentaires" au lieu d'être explicite dans le code.
@MrWass1420 күн бұрын
On va pas se mentir, tu vas aller loin 😉
@technologynews314320 күн бұрын
Du coup ca te choque pas d'avoir 200 fonctions par classes ?
@LaMaliceCode20 күн бұрын
J'imagine que si t'as 200 méthodes dans une classe, c'est qu'elle a un problème de single responsibility. Je conseille pour un code lisible, moins de 3 méthodes publiques par classe pas plus. Le nombre de méthodes privés dépendra de la complexité et de chacun évidemment :)
@IBelieveInCode14 күн бұрын
@@LaMaliceCode "J'imagine que si t'as 200 méthodes dans une classe, c'est qu'elle a un problème de single responsibility." Tu n'en sais rien. Faut étudier un peu ce que les gens font si tu veux les conseiller... 200 méthodes publiques ce n'est pas nécessairement délirant. Considère par exemple une classe qui implémente un gros type abstrait de données, ou qui a un rôle clé dans une application (par exemple si une des méthodes de cette classe est une sorte d'ordonnanceur qui constitue la boucle principale du programme).
@twisky552621 күн бұрын
Salut, super vidéo ! J'ai du mal à voir comment on peut appliquer tous les principes avec de la programmation fonctionnelle (sans utilisé de classe)
@LaMaliceCode20 күн бұрын
J’avoue que moi aussi à part le S de Solid. Je vais me renseigner un peu la dessus et faire une vidéo un de ces 4 sur le fonctionnel ;)
@jean-yvesmousso866224 күн бұрын
Je suggère d'utiliser les interfaces
@Sql3727 күн бұрын
Le TDD oui! J'ai bien compris le principe mais l'appliquer sur du code débutant je n'y vois pas l'intérêt donc je ne fais pas, ce qui est dommage... Genre cmt tester des scprits type exercice "nombre mystère" qui sont très basique
@LaMaliceCode19 күн бұрын
Hello! Merci pour le commentaire :) Je comprends ce que tu veux dire mais au contraire sur les trucs simple ça aide à structure ton code et surtout tes idées. Déjà est-ce que tu veux faire des objets ? lesquels ? avec quel responsabilité chacun ? Ou bien des fonctions ? Par exemple, tu peux tester des fonctions ou des objets qui s’occupent de : vérifier si la proposition est trop basse, vérifier si la proposition est trop haute, et enfin, si la proposition est juste. ça te fait déjà 3 ptits objets ou fonction, qu'après tu assembles dans une fonction principale ou une classe :)
@yoanngasque936028 күн бұрын
merci pour la vidéo, oui pour celle sur le TDD, eventuellement une sur la clean architecture?
@nosterpater89628 күн бұрын
Un grand oui pour la vidéo sur le TDD ;)
@wilfarid984428 күн бұрын
pour la vidéo sur le TDD je suis très intéressé mais sur un vrai projet par sur un kata comme on peut le voir partout. Merci pour tes vidéos. J'aime bien ta façon de présenter les choses ;)
@LaMaliceCode28 күн бұрын
Quel type de projet tu verrais ? Récupérer un JSON/CSV, le parser et l’envoyer dans une base de données par exemple ? Si t’as des idées hésite pas :)
@wilfarid984426 күн бұрын
@@LaMaliceCode dernièrement j'ai fait un petit logiciel console de tournoi d'échecs avec les règlessuisses, c'est un projet de formation et justement je me demandais comment le faire en TDD. Qu'est que tu en penses ?
@wilfarid984428 күн бұрын
Darka à 4:58 une notif par pigeon tu m'as tué :)🤣🤣🤣
@IciEtAilleurDuMoins28 күн бұрын
faire du clean mais ne pas être capable d'expliquer pourquoi cela marche.... C'est comme avoir un code de 2000 lignes sans aucun commentaires...
@JeremyGasperowicz28 күн бұрын
👍
@victorluz728 күн бұрын
Depuis que je suis les conseils de cet homme mon code est bien plus clean et épanouie !
@LaCaverneDesCodeurs28 күн бұрын
C'est quoi du code épanoui ?
@WinnieZePou27 күн бұрын
@@LaCaverneDesCodeurs C'est du code qui a un poil soyeux et qui remue la queue.
@denisjean-bastien125314 күн бұрын
Tellement un plaisir de faire et de lire du clean code
@denisjean-bastien125314 күн бұрын
@@LaCaverneDesCodeursC'est un code qui transpire le bonheur plutôt que la peur d'être exécuté 😂
@iwokssama4772Ай бұрын
Clean Code + Solid 😋Je partage
@wilfarid9844Ай бұрын
Je suis ton 2ème pouce mais ton premier commentaire. Super l'exercice de refacto, c'est très instructif Merci ! J'ai un projet à refacto si tu veux ;)
@edouardcourty4267Ай бұрын
Hyper intéressant, merci du tips !
@zwartepeat3552Ай бұрын
J’adore et oui une vidéo sur les principes solid serait top! Par contre tu kiffes vraiment python ou y’a moyen de faire avec un autre langage? 😂
@iCeCrimeFRАй бұрын
Très bonne vidéo! Et 200 abonnés de plus entre le moment où j’ai vu cette vidéo (samedi dernier) et ce mardi donc chapeau bas!
@LaMaliceCodeАй бұрын
Merci pour ce retour !ça fait plaisir :)
@iCeCrimeFRАй бұрын
@@LaMaliceCode Plaisir partagé! Vu que le sujet est abordé dans la vidéo, je confirme qu’une vidéo sur les principes SOLID serait une excellente idée!
@misterbaliseАй бұрын
Hello, dans ce cas precis, ca serait pas plus simple un bête dictionaire avec en index le nom de la forme et en valeur des lambdas qui font le calcul ?
@LaMaliceCodeАй бұрын
ça marche très certainement ! Il y a toujours 1 000 manières différentse de résoudre un même problème, c'est ça qui est beau :) Mais là c'était vraiment juste un exemple pour montrer le principe du polymorphisme !
@denisjean-bastien1253Ай бұрын
Merci 😊
@MrRayouxАй бұрын
Super vidéo, un banger mon gars masterclass
@nicot136Ай бұрын
Dans ce cas précis, je préfère 3 if. Plus lisible que 3 classes, pas besoin de 3 classes stockées dans la heap (donc + de travail pour le GC et + de poids dans la ram). Et pour éviter les suprises en prod, un bon test unitaire, ça évite de serrer les fesses à chaque modification. Mais sinon ça permet d’expliquer simplement le pattern en lui même. Pour davantage de possibilités et si il y a de l’ioc pourquoi pas, sinon peu d’intérêt dans ce cas précis.
@LaMaliceCodeАй бұрын
C'est sûr qu'avec les bons tests unitaires on est à l'abri ! Côté Heap / Performance, j'avoue m'y connaître que très peu. L'idée était vraiment de montrer le principe avec un exemple compréhensible. Merci pour le commentaire en tout cas !
@driiade6311Ай бұрын
@@LaMaliceCode tkt ils ont tjrs ca comme argument. L opti. Et apres tu reprends un projet a 40 milliard de if qui tourne presque plus. Et toi tous tes projets a 40 milliard de class y a jamais eu de soucis. C est du vecu. Ca devient insupportable de lire ça. Bref gg pour le video.
@maax-sanАй бұрын
Merci! Super clair 👌
@FlavienCadetАй бұрын
Salut 👋 Je devs depuis longtemps, et j'aime bien tes vidéos. Mais petit retour sur ce short en particulier: Le montage est maladroit, la vidéo originale est très bien mais dans ce short, on perds complêtement l'histoire et on ne comprends plus vraiement grand chose. J'espère ne pas te froisser, c'est dans une optique constructive que je poste ce message. En tout cas, continue, tu as de l'avenir sur la plateforme !
@LaMaliceCodeАй бұрын
T'as tout à fait raison, je suis pas encore très bon en "montage" mais il est vrai que celui-ci est vraiment catastrophique. Merci pour ton soutien, ça fait très plaisir :)
@FlavienCadetАй бұрын
@@LaMaliceCode De rien, Merci a toi de produire du contenu qualitatif ! Je peux te conseiller la chaine de @secretsdemonteurpro si tu veux quelques techniques de montage.
@PhunkyBobАй бұрын
Si les objets dont on souhaite calculer l'aire ne sont fonctionnellement pas tous un sous ensemble de "Shape", on peut utiliser les "Protocols" à la place des "ABCs".
@MYPHIL77Ай бұрын
As-tu regardé ce que ça donnait en assembleur ? Autrefois, c'était la chasse aux 'go to' maintenant c'est la guerre contre les 'if'. En fait, en code machine, ça n'arrête pas de tester et d'effectuer des opérations de débranchement ou de saut. Les processeurs modernes effectuent, quand ils ont la ressource disponible et en anticipé, l'exécution de toute ou partie des deux (n) branches des 'if' (ce qu''ils appellent la 'prédiction'), de telle sorte que c'est peu pénalisant. Si l'on doit rechercher la rapidité d'exécution, ce n'est certainement pas en utilisant Python dont l'interprétation pré-machouille une sorte de p-code sous-optimal dont l'inefficience est masquée par la rapidité d'exécution des processeurs. (NB : j'utilise les (anciens, en 32 bits) outils de Compuware pour tracer et mesurer l'activité des cores des procs, des caches, des latences et des étranglements dans les caches L1, L2 et L3).
@fredgo5314Ай бұрын
hyper intéressantes les astuces. bon après faut avoir un petit niveau, j'avoue ne pas savoir tout écrire dans ce que tu as fait !
@PierreSchinkoАй бұрын
100 if, ça fait beaucoup trop 🤣🤣🤣🤣 Bon, mais c'est quand même un titre putaclic 🤣🤣