SlideShare a Scribd company logo
Clean   Legacy
Code     Code

    

    




    



    

    



    





    

    



    





    



    

    



    





    



    



    
UI Tests

 Acceptance Tests


Integration Tests

   Unit Tests
UI Tests

 Acceptance Tests


Integration Tests

   Unit Tests
UI Tests

 Acceptance Tests


Integration Tests

   Unit Tests
UI Tests

 Acceptance Tests


Integration Tests

   Unit Tests

    

    

    

    



    

    

    



    



    

    

    

    

    

    



    



    

    

    

    









    

    

    

    



    

    

    

    

    



    

    

    



    

    

    

    



    

    

    



    

    



    

    

    

    



    

    



    



    

    



    



    




    



    



    





    

    

    

    



    

    

    



    



    

    

    



    



    



    

    

    



    



    



    



    

    

    



    



    



    



    



    

    
Preparing to write Clean Code
Preparing to write Clean Code
Preparing to write Clean Code

More Related Content

Similar to Preparing to write Clean Code

Make my viral
Make my viralMake my viral
Make my viralNINANC
 
Aspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of ConceptAspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of Concepttomwhalen
 
RIch User Experience
RIch User ExperienceRIch User Experience
RIch User Experience
Louise Thomson
 
Cinefilia Demo - EGEE User Forum 2009
Cinefilia Demo - EGEE User Forum 2009Cinefilia Demo - EGEE User Forum 2009
Cinefilia Demo - EGEE User Forum 2009
Leandro Ciuffo
 
The guard brochure
The guard brochure The guard brochure
The guard brochure Blog HIPAA
 
Idevice connections
Idevice connectionsIdevice connections
Idevice connections
Kyle Bass
 
Boom startup overview
Boom startup overviewBoom startup overview
Boom startup overviewbjb84
 
Bitocast - A hybrid BitTorrent and IP Multicast content distribution solution
Bitocast - A hybrid BitTorrent and IP Multicast content distribution solutionBitocast - A hybrid BitTorrent and IP Multicast content distribution solution
Bitocast - A hybrid BitTorrent and IP Multicast content distribution solution
Tiago Andrade e Silva
 
Cisco career certification paths
Cisco career certification pathsCisco career certification paths
Cisco career certification pathsSathishkumar A
 
Software Quality Analysis with Alitheia Core
Software Quality Analysis with Alitheia CoreSoftware Quality Analysis with Alitheia Core
Software Quality Analysis with Alitheia Core
Georgios Gousios
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Restdeimos
 
Ushahidi Toolbox - Real-time Evaluation
Ushahidi Toolbox - Real-time EvaluationUshahidi Toolbox - Real-time Evaluation
Ushahidi Toolbox - Real-time Evaluation
Ushahidi
 
ISO OSI Model
ISO OSI ModelISO OSI Model
ISO OSI Model
Krishna Kumar Bohra
 
Mobile Marketing Mystery
Mobile Marketing MysteryMobile Marketing Mystery
Mobile Marketing Mystery
Ben Grossman
 
Ugif 04 2011 informix notonlypointofsales-fr-001
Ugif 04 2011   informix notonlypointofsales-fr-001Ugif 04 2011   informix notonlypointofsales-fr-001
Ugif 04 2011 informix notonlypointofsales-fr-001UGIF
 
Design improv final pres
Design improv final presDesign improv final pres
Design improv final pres
Nathan Waterhouse
 
SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...
SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...
SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...
UK Government Digital Service
 

Similar to Preparing to write Clean Code (20)

Make my viral
Make my viralMake my viral
Make my viral
 
Aspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of ConceptAspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of Concept
 
RIch User Experience
RIch User ExperienceRIch User Experience
RIch User Experience
 
Cinefilia Demo - EGEE User Forum 2009
Cinefilia Demo - EGEE User Forum 2009Cinefilia Demo - EGEE User Forum 2009
Cinefilia Demo - EGEE User Forum 2009
 
The guard brochure
The guard brochure The guard brochure
The guard brochure
 
Idevice connections
Idevice connectionsIdevice connections
Idevice connections
 
Boom startup overview
Boom startup overviewBoom startup overview
Boom startup overview
 
Bitocast - A hybrid BitTorrent and IP Multicast content distribution solution
Bitocast - A hybrid BitTorrent and IP Multicast content distribution solutionBitocast - A hybrid BitTorrent and IP Multicast content distribution solution
Bitocast - A hybrid BitTorrent and IP Multicast content distribution solution
 
Cisco career certification paths
Cisco career certification pathsCisco career certification paths
Cisco career certification paths
 
Software Quality Analysis with Alitheia Core
Software Quality Analysis with Alitheia CoreSoftware Quality Analysis with Alitheia Core
Software Quality Analysis with Alitheia Core
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Rest
 
2011.09.23 報告
2011.09.23 報告2011.09.23 報告
2011.09.23 報告
 
Ushahidi Toolbox - Real-time Evaluation
Ushahidi Toolbox - Real-time EvaluationUshahidi Toolbox - Real-time Evaluation
Ushahidi Toolbox - Real-time Evaluation
 
ISO OSI Model
ISO OSI ModelISO OSI Model
ISO OSI Model
 
Mobile Marketing Mystery
Mobile Marketing MysteryMobile Marketing Mystery
Mobile Marketing Mystery
 
Quick start
Quick startQuick start
Quick start
 
Quick start
Quick startQuick start
Quick start
 
Ugif 04 2011 informix notonlypointofsales-fr-001
Ugif 04 2011   informix notonlypointofsales-fr-001Ugif 04 2011   informix notonlypointofsales-fr-001
Ugif 04 2011 informix notonlypointofsales-fr-001
 
Design improv final pres
Design improv final presDesign improv final pres
Design improv final pres
 
SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...
SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...
SPRINT 13 Workshop 5 Open changes everything Oliver Morley - The National Arc...
 

Recently uploaded

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 

Recently uploaded (20)

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 

Preparing to write Clean Code

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Clean Legacy Code Code
  • 12.
  • 13.
  • 14.  
  • 15.   
  • 16.     
  • 17.       
  • 18.         
  • 19.
  • 20.
  • 21. UI Tests Acceptance Tests Integration Tests Unit Tests
  • 22. UI Tests Acceptance Tests Integration Tests Unit Tests
  • 23. UI Tests Acceptance Tests Integration Tests Unit Tests
  • 24. UI Tests Acceptance Tests Integration Tests Unit Tests
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.  
  • 35.    
  • 36.         
  • 37.          
  • 38.
  • 40.  
  • 41.      
  • 42.         
  • 43.            
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.   
  • 50.     
  • 51.      
  • 52.       
  • 53.
  • 54.  
  • 55.    
  • 56.      
  • 57.        
  • 58.          
  • 59.             

Editor's Notes

  1. Uncle Bob Martin and his Clean Code manifesto laid out in these 2 books have cost me 3 jobs.True story.It’s also a true story that I wouldn’t change any of it and I’ve never been happier.
  2. I am David Adsit from Pluralsight and I am here today to talk to you about preparing to write clean code. During the next hour, I expect you to participate, so let’s start by having everyone who writes code raise your hands.
  3. Ok, so we are going to talk about clean code and preparing ourselves to create clean code.I’ve broken this topic into 3 well known phases:
  4. Phase 1 – know what clean code isPhase 3 – profitNow you say, “What’s phase 2?”Hopefully we will figure that out before the hour is up.Anyway, let’s start with phase 1.
  5. Who here already knows what Clean Code is?That’s so awesome! Can I get one of you to come up and tell us, please? I would love to be in the AngularJS presentation across the hall…Seriously though, what is the first thing we do when someone tells us about a new idea, tool, or technology? Google it! Or Bing it, if you’re one of those…
  6. It appears that clean code is an attempt to minimize WTFs/minute. So I went on Urban Dictionary to find out what WTFs are… ;-)
  7. Objects Hide their data behind abstractions and expose functions that operate on that data. Data structures Expose their data and have no meaningful functions. Opposites with complimentary definitions
  8. There are a lot of aspects to testing. Let’s look at some basic categories that will help us ensure that we have quality code.
  9. But you’re not here for an infomercial about a user group!