SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
The Stinky Code Project

Simon Stewart (shs@google.com)
          @shs96c
Data Envy
Breaking the Law (of Demeter)
The Evil Singleton
Static Cling
Mocking Too Far
Too Many Mocks
Tests at Too High a Level
Tests at Too Low a Level
Fat Constructors
Deep Inheritance
Obscure Intent
Polynaming
Single Layer of Defence
Test Code is Disposable
Mumpsimus




http://www.flickr.com/photos/deepblue66/132439533/
When the Going Gets Tough (the
Tough Stop Testing)
Inconsistency




http://www.flickr.com/photos/31284576@N06/3105146919/
Fin

Weitere ähnliche Inhalte

Mehr von GrantBell

Toby Beresford
Toby BeresfordToby Beresford
Toby Beresford
GrantBell
 
Vladimir Oane
Vladimir OaneVladimir Oane
Vladimir Oane
GrantBell
 
Dominic Sparkes
Dominic SparkesDominic Sparkes
Dominic Sparkes
GrantBell
 
Toby Beresford
Toby BeresfordToby Beresford
Toby Beresford
GrantBell
 
Karl Bunyan Slides: April Facebook Developer Garage
Karl Bunyan Slides: April Facebook Developer GarageKarl Bunyan Slides: April Facebook Developer Garage
Karl Bunyan Slides: April Facebook Developer Garage
GrantBell
 
Clara Shih Slides: April Facebook Developer Garage
Clara Shih Slides: April Facebook Developer GarageClara Shih Slides: April Facebook Developer Garage
Clara Shih Slides: April Facebook Developer Garage
GrantBell
 
Offerpal Slides: April Facebook Developer Garage
Offerpal Slides: April Facebook Developer GarageOfferpal Slides: April Facebook Developer Garage
Offerpal Slides: April Facebook Developer Garage
GrantBell
 

Mehr von GrantBell (11)

Iskandar
IskandarIskandar
Iskandar
 
Buster
BusterBuster
Buster
 
Toby Beresford
Toby BeresfordToby Beresford
Toby Beresford
 
Vladimir Oane
Vladimir OaneVladimir Oane
Vladimir Oane
 
Dan Lester
Dan LesterDan Lester
Dan Lester
 
Dominic Sparkes
Dominic SparkesDominic Sparkes
Dominic Sparkes
 
Iskander
IskanderIskander
Iskander
 
Toby Beresford
Toby BeresfordToby Beresford
Toby Beresford
 
Karl Bunyan Slides: April Facebook Developer Garage
Karl Bunyan Slides: April Facebook Developer GarageKarl Bunyan Slides: April Facebook Developer Garage
Karl Bunyan Slides: April Facebook Developer Garage
 
Clara Shih Slides: April Facebook Developer Garage
Clara Shih Slides: April Facebook Developer GarageClara Shih Slides: April Facebook Developer Garage
Clara Shih Slides: April Facebook Developer Garage
 
Offerpal Slides: April Facebook Developer Garage
Offerpal Slides: April Facebook Developer GarageOfferpal Slides: April Facebook Developer Garage
Offerpal Slides: April Facebook Developer Garage
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan