- Видео 80
- Просмотров 40 824
LaMaliceCode
Добавлен 16 июн 2014
Bienvenue sur la chaîne d'un développeur Python qui essaye de faire de son mieux pour proposer un code lisible et qui respecte les principes du Clean Code. Je suis pas le plus fort, je suis pas le plus nul, mais je fais ce que je peux ;)
Advent of Code: Comment foudroyer les 4 premiers DAYS ?
On va pas se mentir, l’Advent of Code, c’est le rendez-vous des développeurs qui aiment se challenger. 🎄💻 Dans cette vidéo, je te partage mes solutions des jours 1 à 4. Des solutions évidemment discutables mais elles ont méritent d'envoyer le bon résultat 🤓
👉 Au programme :
• Clean Code, TDD, DDD, Polymorphisme, Overkill, Neymar… on parle de tout ici. 😉
• Une plongée dans les défis des 4 premiers jours.
• Des astuces pour progresser en Python tout en respectant les principes de Clean Code. 🚀
Chapitres:
00:00 Présentation AdventOfCode
00:55 DAY 4
01:49 Premier test
03:18 Open-Closed Principle
04:04 High-Level Object (Paladin)
05:10 DAY 1
05:28 DAY 2
06:40 DAY 3
07:05 Outro
N'hésite pas à t'abonner si ...
👉 Au programme :
• Clean Code, TDD, DDD, Polymorphisme, Overkill, Neymar… on parle de tout ici. 😉
• Une plongée dans les défis des 4 premiers jours.
• Des astuces pour progresser en Python tout en respectant les principes de Clean Code. 🚀
Chapitres:
00:00 Présentation AdventOfCode
00:55 DAY 4
01:49 Premier test
03:18 Open-Closed Principle
04:04 High-Level Object (Paladin)
05:10 DAY 1
05:28 DAY 2
06:40 DAY 3
07:05 Outro
N'hésite pas à t'abonner si ...
Просмотров: 173
Видео
Clean Code & Pandas (EP 2/3) Supprimons les valeurs aberrantes proprement !
Просмотров 190Месяц назад
Ton code Pandas est aussi brouillon qu’une recette improvisée de Joël Robuchon après un marathon Netflix ? Dans cette vidéo, on met les mains dans le plat pour te montrer comment gérer les outliers proprement et écrire du Clean Code 💻✨ 🎯 Ce que tu vas apprendre : • Comment identifier et supprimer les valeurs aberrantes sans perdre tes cheveux. • Pourquoi écrire un code propre, c’est comme un be...
Clean Code avec Pandas en Python (Épisode 1/3)
Просмотров 3232 месяца назад
Clean Code avec Pandas en Python (Épisode 1/3)
4 ERREURS courantes qui rendent ton code moche (et comment les corriger)
Просмотров 5302 месяца назад
4 ERREURS courantes qui rendent ton code moche (et comment les corriger)
SOLID: Les 5 principes du Clean Code expliqués concrètement
Просмотров 8922 месяца назад
SOLID: Les 5 principes du Clean Code expliqués concrètement
Comment coder sans "if" grâce au polymorphisme
Просмотров 11 тыс.3 месяца назад
Comment coder sans "if" grâce au polymorphisme
Astuces sur les Listes en Python 🐍 🔥 (10x moins de RAM)
Просмотров 2317 месяцев назад
Astuces sur les Listes en Python 🐍 🔥 (10x moins de RAM)
Code Challenge: Le Jeu de la Vie en Python
Просмотров 2758 месяцев назад
Code Challenge: Le Jeu de la Vie en Python
Tuto Clean Code Tennis (2/6) - Micro Objects et le principe ”DRY”
Просмотров 1348 месяцев назад
Tuto Clean Code Tennis (2/6) - Micro Objects et le principe ”DRY”
Tuto Clean Code Tennis (4/6) - Chain Of Responsibility ça marche comment?
Просмотров 1328 месяцев назад
Tuto Clean Code Tennis (4/6) - Chain Of Responsibility ça marche comment?
Tuto Clean Code Tennis (6/6) - Code Review et Conclusion
Просмотров 2038 месяцев назад
Tuto Clean Code Tennis (6/6) - Code Review et Conclusion
Tuto Clean Code Tennis (1/6) - Découpons cette ”God” Class
Просмотров 7698 месяцев назад
Tuto Clean Code Tennis (1/6) - Découpons cette ”God” Class
Tuto Clean Code Tennis (3/6) - ”Primitive Obsession”, parlons Tennis
Просмотров 1558 месяцев назад
Tuto Clean Code Tennis (3/6) - ”Primitive Obsession”, parlons Tennis
Tuto Clean Code Tennis (5/6) - L’heure de vérité
Просмотров 648 месяцев назад
Tuto Clean Code Tennis (5/6) - L’heure de vérité
[Tutoriel] Pydantic Avancé (Partie 2)
Просмотров 1549 месяцев назад
[Tutoriel] Pydantic Avancé (Partie 2)
Gérer des json en Python - Pourquoi Pydantic est trop fort ? [TUTORIEL]
Просмотров 3579 месяцев назад
Gérer des json en Python - Pourquoi Pydantic est trop fort ? [TUTORIEL]
Tutoriel TDD en Python - Comment coder plus sereinement ?
Просмотров 45610 месяцев назад
Tutoriel TDD en Python - Comment coder plus sereinement ?
Conway Game of Life Explained - Class Responsibility Cards
Просмотров 5311 месяцев назад
Conway Game of Life Explained - Class Responsibility Cards
Coding Conway's Game of Life in Python3.10 - Keyboard Sounds
Просмотров 100Год назад
Coding Conway's Game of Life in Python3.10 - Keyboard Sounds
C’est vrai que les footballeurs ont vraiment le QI d’une mandarine, je suis sidéré par le niveau de leur langage.
J'adore l'explication avec humour, je valide 🙂
Continues comme ça broooooo !!!!
4:19 Totalement d'accord. D'ailleurs l'ia ajoute toujours plein de guard clauses que j'enlève (enfin si les données d'entrées sont censées être clean de base)
Excellent 😂
J'ai pas la réf du 672 mais ça m'a fait rire 😂
J'suis mort, t'es le boss 😂
La fameuse fonction « send to server » qui en ft fait du parsing 😂
Merci pour tes vidéos. Continue à nous régaler.
Lfi, beaucoup de problème morale dans ce groupe , au dernière nouvelle abus d’atouchement (et plus ) sur enfant mineur de 4 ans et handicapé. Ça c’est les gens du merveilleux groupe de ton amis melanchon 😅
Je suis pas sûr que Mbappé soit responsable de ce que fait Modric. D'ailleurs citer Mélenchon ne fait pas de lui un "ami" à moi :) Dans cette vidéo je cite Elon Musk, du coup c'est un ami à moi aussi ?
T’es un sale gauchiste
vive les if et les goto. 😁
Salut, est ce qu'on peut te retrouver sur Linkedin ?
Quick win
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
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?
Je m'abonne pour la deuxième fois. Merci
Pertinent, drôle et une explication excellente. Aller je m'abonne.
Super conseil
C'est complètement con comme conseil. 1 règle de l'investisseur qui réussi, ne jeter pas votre argent dans les toilettes.
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.
j'aime beaucoup ton approche, sympa. continue d'en faire des commes ça !
Si je ne m'abuse, le son est trop bas
vous êtes vraiment super en explication
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 ?
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 ;)
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.
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...
Continue! J'adore ! Hâte à la prochaine vidéo ! Et merci pour ce contenu 😊
Super, merci !
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.
Je ne vois pas où tu vois une fonction récursive ici.
@@elytes96 my bad j'ai regarde trop vite, mais ca change rien a mon propos
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.
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"
Seuls les commentaires de fonctions sont indispensables
Si ta fonction est nommée explicitement, et qu'elle fait qu'une seule chose, même pas
bg
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 ;)
N'en dis pas plus j'y ferais attention pour la prochaine vidéo
Hello, merci pour le contenu que tu proposes. Question, les kwargs ont-ils une utilité lorsqu'on applique les principes SOLID (hors décorateurs) ?
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.
@@LaMaliceCode merci 🙂
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 !
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)
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.
On va pas se mentir, tu vas aller loin 😉
Du coup ca te choque pas d'avoir 200 fonctions par classes ?
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 :)
@@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).
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)
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 ;)
Je suggère d'utiliser les interfaces
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
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 :)
merci pour la vidéo, oui pour celle sur le TDD, eventuellement une sur la clean architecture?
Un grand oui pour la vidéo sur le TDD ;)
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 ;)
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 :)
@@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 ?
Darka à 4:58 une notif par pigeon tu m'as tué :)🤣🤣🤣
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...
👍
Depuis que je suis les conseils de cet homme mon code est bien plus clean et épanouie !
C'est quoi du code épanoui ?
@@LaCaverneDesCodeurs C'est du code qui a un poil soyeux et qui remue la queue.
Tellement un plaisir de faire et de lire du clean code
@@LaCaverneDesCodeursC'est un code qui transpire le bonheur plutôt que la peur d'être exécuté 😂
Clean Code + Solid 😋Je partage
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 ;)
Hyper intéressant, merci du tips !