Page 2


I had the chance to work few months in Agicap, an enterprise producing a cashflow management SAAS for businesses. It was a great mission, my team worked a way that I consider to be, so far, the most efficient and pleasant in my career. We managed to produce value at a constant speed while keeping a full control of our code, not allowing any kind of quality depreciation over time.
Tout part d’un talk donnĂ© par Emilien PECOUL (aka Ouarzy). Durant ce talk, celui-ci a tentĂ© de dĂ©montrer Ă  son audience qu’elle connaissait dĂ©jĂ  la plupart des concepts formulĂ©s dans la thĂ©orie des catĂ©gories. À mon sens, il y est parvenu mĂȘme si ce sujet est bien trop vaste pour ĂȘtre abordĂ© en seulement 45 minutes. C’est pourquoi quelques annĂ©es plus tard, il m’a proposĂ© de le rĂ©adapter avec lui sur un format universitĂ© (3 heures).
Au cours de ma carriĂšre, j’ai Ă©tĂ© confrontĂ© Ă  plusieurs reprises Ă  des clients et/ou des acteurs internes qui souhaitent assurer un haut niveau d’uniformisation sur le code des applications. Cela se traduit par des conventions de style, de nommage, et parfois mĂȘme des choix plus impactant comme des frameworks ou des architectures spĂ©cifiques. Dans les cas extrĂȘmes, les propos de ces personnes laissaient entendre le refus d’un quelconque Ă©cart avec ces rĂšgles.
May 26, 2021
đŸ·
UN BIAIS COGNITIF ET UN USAGE ERRONÉ Les dĂ©veloppeurs aiment bien les acronymes pour Ă©noncer des “bonnes pratiques” (KISS, DRY, SOLID, etc
). Souvent, l’idĂ©e vĂ©hiculĂ©e par ceux-ci est trĂšs simple Ă  apprĂ©hender. Cependant, nous souffrons d’un biais cognitif Ă©norme : plus une information est simple Ă  intĂ©grer, moins elle est remise en question / challengĂ©e. Et celle-ci est encore mieux intĂ©grĂ©e si elle ne va pas en contradiction avec vos croyances.
Jun 04, 2020
đŸ·
VoilĂ  maintenant plus de 5 ans que j’applique une approche TDD (test-driven development) sur l’ensemble des projets sur lesquels j’interviens. Si j’utilise toujours cette mĂ©thode, c’est parce que la prĂ©sence de tests me donne confiance dans le code que j’écris : Je m’assure qu’il fait bien ce que je souhaite. J’amĂ©liore constamment son design par du refactoring. Les tests mettent en lumiĂšre la trĂšs grande majoritĂ© des rĂ©gressions que je peux introduire lors d’un refactoring ou d’une Ă©volution.
Feb 04, 2020
đŸ·
Il y a quelques jours, au cours d’une discussion, on m’a demandĂ© quelles sont les pratiques que je pousse dans une Ă©quipe dans le but d’amĂ©liorer la qualitĂ© de code. Bon nombre de pratiques comme TDD, clean code ou encore DDD et ses bounded-contexts ayant dĂ©jĂ  Ă©tĂ© citĂ©s, j’ai donc rĂ©pondu : un code mĂ©tier pur, parfois appelĂ© functional core. Dans cet article, je pars du principe que vous faite une distinction et sĂ©paration forte entre le code mĂ©tier qui rĂ©pond Ă  une logique business, et le code infra qui rĂ©pond aux problĂ©matiques techniques.
Je suis un dĂ©veloppeur convaincu par les bĂ©nĂ©fices du TDD, je l’applique au quotidien sur les projets que me confient mes clients. Cela me permet de rapidement valider que mon code a bien le comportement attendu, de le “documenter” et dĂ©crivant un cas d’usage et de m’assurer par la suite que je n’introduis aucune rĂ©gression si je modifie le code testĂ©. Je fais tout ceci en sachant que je choisis des cas de test qui me semblent reprĂ©sentatifs de l’usage de la fonction, on parle parfois d’Example Based Tests.
J’ai rĂ©cemment pu participer Ă  un atelier animĂ© par Romeu Mourra lors des NCrafts. Pas de technique ici, le but Ă©tait de mettre en lumiĂšre des problĂšmes d’ordres systĂ©miques. Pour cela, nous avons fait un Kebab Kata sous forme d’itĂ©rations aux-cours desquelles Romeu jouait le rĂŽle du client, puis Ă©galement de l’architecte. Son but Ă©tait de nous faire Ă©chouer en usant de diffĂ©rents comportements toxiques que l’on retrouve frĂ©quemment dans de vraies missions.
Feb 07, 2017
đŸ·
Dans mon prĂ©cĂ©dent article, j’ai Ă©voquĂ© les raisons pour lesquelles il faut s’orienter ou non vers une architecture de type CQRS. Parmi ces raisons, la premiĂšre que j’ai Ă©voquĂ© Ă©tait le niveau de complexitĂ© du mĂ©tier : plus le mĂ©tier est complexe, plus CQRS devient pertinent. Seulement, comment dĂ©finir et Ă©valuer la complexitĂ© mĂ©tier de son application ? LA COMPLEXITÉ, C’EST QUOI ? “ComplexitĂ©, n.f. : CaractĂšre de ce qui est complexe, qui comporte des Ă©lĂ©ments divers qu’il est difficile de dĂ©mĂȘler” : dĂ©finition proposĂ©e par le Larousse.
Dec 20, 2016
đŸ·
Actuellement, j’entend de plus en plus parler de CQRS et CQRS/ES : par mes collĂšgues autour de la machine Ă  cafĂ©, lors d’entretiens techniques, sur Twitter, les blogs, etc. Le principe du Command and Query Responsability Segregation (CQRS) est de sĂ©parer modĂšles d’écriture et modĂšles de lecture. L’Event Sourcing (ES) quant Ă  lui consiste Ă  sauvegarder des Ă©vĂ©nements au lieu d’entitĂ©s, pour reconstruire une entitĂ© il faut agrĂ©ger des Ă©vĂ©nements. ExprimĂ©s de cette façon, ces concepts semblent plutĂŽt simples Ă  comprendre, mais les aspects techniques peuvent vite les rendre complexes Ă  apprĂ©hender et implĂ©menter.
« Older posts Newer posts »