SlideShare a Scribd company logo
@theNeomatrix369 @pedromsantos
Refactoring
Developer
Habits
@theNeomatrix369 @pedromsantos
We are creatures of habit...
@theNeomatrix369 @pedromsantos
..our habits influence our
actions greatly...
@theNeomatrix369 @pedromsantos
Know and accept your
good habits !
@theNeomatrix369 @pedromsantos
Know and accept your
bad habits !
@theNeomatrix369 @pedromsantos
Developer habits is a
very broad subject
@theNeomatrix369 @pedromsantos
But we need to start
somewhere
@theNeomatrix369 @pedromsantos
The TDD life-cycle
@theNeomatrix369 @pedromsantos
Let’s fit it into the TDD cycle
Red-Green-Refactor cycle
@theNeomatrix369 @pedromsantos
The TDD cycle
⇐ apply habits...
Red phase
⇐ apply habits...
Green phase
⇐ apply habits...
Refactor phase
⇐ apply habits...
@theNeomatrix369 @pedromsantos
Refactoring
Developer
Habits:
birth of the #TDD
#manifesto
@theNeomatrix369 @pedromsantos
Original version
@theNeomatrix369 @pedromsantos
Socrates UK 2013
@theNeomatrix369 @pedromsantos
Refining: after discussion 1
@theNeomatrix369 @pedromsantos
Refining: after discussion 2
@theNeomatrix369 @pedromsantos
https://neomatrix369.wordpress.com/2013/09/27
Blog post - Socrates UK 2013
@theNeomatrix369 @pedromsantos
Just before Socrates UK
2016, Pedro and Mani...
@theNeomatrix369 @pedromsantos
Repeat the same exercise
@theNeomatrix369 @pedromsantos
What should stay?
@theNeomatrix369 @pedromsantos
What should be removed?
@theNeomatrix369 @pedromsantos
What should be added?
@theNeomatrix369 @pedromsantos
Should the flow be
improved?
@theNeomatrix369 @pedromsantos
Give more or less
importance to any item?
@theNeomatrix369 @pedromsantos
15-20 minutes
group discussion
@theNeomatrix369 @pedromsantos
Results of the discussions
@theNeomatrix369 @pedromsantos
Shared with the community
Github: http://bit.ly/1tjLS7l
@theNeomatrix369 @pedromsantos
Principles
- tests should test one thing only
- test one logical assertion
- don't mix assertions of state and collaboration in the same test
- modifications of production code should only break related test cases
- each test should be self-contained, including data
- ensure tests are independent of each other
- don't refactor with a failing test
- organise your unit test projects to reflect your production code
- keep your tests and production code separate
- do not use production data and code to test production code
- if your tests are difficult to write or maintain, consider changing the design
@theNeomatrix369 @pedromsantos
Red phase
- create more specific tests to drive a more generic solution (Triangulate)
- give your tests meaningful names (behaviour / goal-oriented) that reflect your
production system
- write the assertion first and work backwards
- see the test fail for the right reason
- ensure you have meaningful feedback from failing tests
@theNeomatrix369 @pedromsantos
Green phase
- write the simplest code to pass the test
- write any code that makes you get to the refactor phase quicker
- it is okay to write any code that you might improve at a later stage
@theNeomatrix369 @pedromsantos
Refactor phase
- refactor aggressively and constantly
- treat tests as first class code
- use the IDE to refactor quickly and safely
- refactor production and test code independently (except changing public
interfaces)
@theNeomatrix369 @pedromsantos
Captured as a mind-map
@theNeomatrix369 @pedromsantos
Does TDD lead to good design?
Find out...
http://codurance.com/2015/05/12/does-tdd-lead-to-good-design/
@theNeomatrix369 @pedromsantos
Discuss with the community
http://SoftwareCraftsmanship.slack.com
channel: #tdd
@theNeomatrix369 @pedromsantos
Big “thank you” to
the first contributors
http://bit.ly/235Ub3a
@theNeomatrix369 @pedromsantos
Q&A
Feedback
@theNeomatrix369 @pedromsantos
Thanks to @jasongorman for
sharing the original list
@theNeomatrix369 @pedromsantos
Thank you!

More Related Content

Similar to Refactoring developer habits

Agile Australia - The anti-transformation transformation
Agile Australia - The anti-transformation transformationAgile Australia - The anti-transformation transformation
Agile Australia - The anti-transformation transformation
Mirco Hering
 
Reading Other Peoples Code (NDC Sydney 2018)
Reading Other Peoples Code (NDC Sydney 2018)Reading Other Peoples Code (NDC Sydney 2018)
Reading Other Peoples Code (NDC Sydney 2018)
Patricia Aas
 
Making cd happen thought works talks tech 27 march 2019
Making cd happen   thought works talks tech 27 march 2019Making cd happen   thought works talks tech 27 march 2019
Making cd happen thought works talks tech 27 march 2019
Sriram Narayanan
 
Automating with operators - FossAsia Summit 2019
Automating with operators - FossAsia Summit 2019Automating with operators - FossAsia Summit 2019
Automating with operators - FossAsia Summit 2019
Jorge Morales
 
Leaning on the two Ts
Leaning on the two TsLeaning on the two Ts
Leaning on the two Ts
Mani Sarkar
 
rnd teams.pptx
rnd teams.pptxrnd teams.pptx
rnd teams.pptx
Alexander Tokarev
 
Java Performance Mistakes
Java Performance MistakesJava Performance Mistakes
Java Performance Mistakes
Andreas Grabner
 
What is "Domain Driven Design" and what can you expect from it?
What is "Domain Driven Design" and what can you expect from it?What is "Domain Driven Design" and what can you expect from it?
What is "Domain Driven Design" and what can you expect from it?
Tom Janssens
 
Are you testing your unit tests?
Are you testing your unit tests?Are you testing your unit tests?
Are you testing your unit tests?
Soham Dasgupta
 
Reading Other Peoples Code (NDC Copenhagen 2019)
Reading Other Peoples Code (NDC Copenhagen 2019)Reading Other Peoples Code (NDC Copenhagen 2019)
Reading Other Peoples Code (NDC Copenhagen 2019)
Patricia Aas
 
Tahoe Dreamin 2018: It simply works... until it breaks!
Tahoe Dreamin 2018: It simply works... until it breaks!Tahoe Dreamin 2018: It simply works... until it breaks!
Tahoe Dreamin 2018: It simply works... until it breaks!
Daniel Stange
 
Behaviour drivendevelopment
Behaviour drivendevelopmentBehaviour drivendevelopment
Behaviour drivendevelopment
Luis Goldster
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
Fraboni Ec
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
James Wong
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
Harry Potter
 
Behaviour drivendevelopment
Behaviour drivendevelopmentBehaviour drivendevelopment
Behaviour drivendevelopment
Young Alista
 
Behaviour drivendevelopment
Behaviour drivendevelopmentBehaviour drivendevelopment
Behaviour drivendevelopment
Hoang Nguyen
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
Tony Nguyen
 
Kata Contacts
Kata ContactsKata Contacts
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
Daniel Stange
 

Similar to Refactoring developer habits (20)

Agile Australia - The anti-transformation transformation
Agile Australia - The anti-transformation transformationAgile Australia - The anti-transformation transformation
Agile Australia - The anti-transformation transformation
 
Reading Other Peoples Code (NDC Sydney 2018)
Reading Other Peoples Code (NDC Sydney 2018)Reading Other Peoples Code (NDC Sydney 2018)
Reading Other Peoples Code (NDC Sydney 2018)
 
Making cd happen thought works talks tech 27 march 2019
Making cd happen   thought works talks tech 27 march 2019Making cd happen   thought works talks tech 27 march 2019
Making cd happen thought works talks tech 27 march 2019
 
Automating with operators - FossAsia Summit 2019
Automating with operators - FossAsia Summit 2019Automating with operators - FossAsia Summit 2019
Automating with operators - FossAsia Summit 2019
 
Leaning on the two Ts
Leaning on the two TsLeaning on the two Ts
Leaning on the two Ts
 
rnd teams.pptx
rnd teams.pptxrnd teams.pptx
rnd teams.pptx
 
Java Performance Mistakes
Java Performance MistakesJava Performance Mistakes
Java Performance Mistakes
 
What is "Domain Driven Design" and what can you expect from it?
What is "Domain Driven Design" and what can you expect from it?What is "Domain Driven Design" and what can you expect from it?
What is "Domain Driven Design" and what can you expect from it?
 
Are you testing your unit tests?
Are you testing your unit tests?Are you testing your unit tests?
Are you testing your unit tests?
 
Reading Other Peoples Code (NDC Copenhagen 2019)
Reading Other Peoples Code (NDC Copenhagen 2019)Reading Other Peoples Code (NDC Copenhagen 2019)
Reading Other Peoples Code (NDC Copenhagen 2019)
 
Tahoe Dreamin 2018: It simply works... until it breaks!
Tahoe Dreamin 2018: It simply works... until it breaks!Tahoe Dreamin 2018: It simply works... until it breaks!
Tahoe Dreamin 2018: It simply works... until it breaks!
 
Behaviour drivendevelopment
Behaviour drivendevelopmentBehaviour drivendevelopment
Behaviour drivendevelopment
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
 
Behaviour drivendevelopment
Behaviour drivendevelopmentBehaviour drivendevelopment
Behaviour drivendevelopment
 
Behaviour drivendevelopment
Behaviour drivendevelopmentBehaviour drivendevelopment
Behaviour drivendevelopment
 
Behaviour driven development
Behaviour driven developmentBehaviour driven development
Behaviour driven development
 
Kata Contacts
Kata ContactsKata Contacts
Kata Contacts
 
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
 

More from Mani Sarkar

How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?
Mani Sarkar
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Mani Sarkar
 
Cli in the browser
Cli in the browserCli in the browser
Cli in the browser
Mani Sarkar
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
Mani Sarkar
 
Kanban kata
Kanban kataKanban kata
Kanban kata
Mani Sarkar
 
Essential technical skills
Essential technical skillsEssential technical skills
Essential technical skills
Mani Sarkar
 
How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !
Mani Sarkar
 
Adopt OpenJDK the past, the present & the future
Adopt OpenJDK  the past, the present & the futureAdopt OpenJDK  the past, the present & the future
Adopt OpenJDK the past, the present & the future
Mani Sarkar
 
Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)
Mani Sarkar
 
Adopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationAdopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentation
Mani Sarkar
 
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Mani Sarkar
 
Java2 days 2013-lambda
Java2 days 2013-lambdaJava2 days 2013-lambda
Java2 days 2013-lambda
Mani Sarkar
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bof
Mani Sarkar
 
Java2 days 2013-j-treg
Java2 days 2013-j-tregJava2 days 2013-j-treg
Java2 days 2013-j-treg
Mani Sarkar
 
History of java
History of javaHistory of java
History of java
Mani Sarkar
 

More from Mani Sarkar (15)

How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
 
Cli in the browser
Cli in the browserCli in the browser
Cli in the browser
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
 
Kanban kata
Kanban kataKanban kata
Kanban kata
 
Essential technical skills
Essential technical skillsEssential technical skills
Essential technical skills
 
How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !
 
Adopt OpenJDK the past, the present & the future
Adopt OpenJDK  the past, the present & the futureAdopt OpenJDK  the past, the present & the future
Adopt OpenJDK the past, the present & the future
 
Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)
 
Adopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationAdopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentation
 
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
 
Java2 days 2013-lambda
Java2 days 2013-lambdaJava2 days 2013-lambda
Java2 days 2013-lambda
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bof
 
Java2 days 2013-j-treg
Java2 days 2013-j-tregJava2 days 2013-j-treg
Java2 days 2013-j-treg
 
History of java
History of javaHistory of java
History of java
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 

Refactoring developer habits