SlideShare a Scribd company logo

Code Smells and Refactoring

One of the main contributor to keeping business easy to respond to change is maintainable software. On the opposite, it is possible to cripple the business by creating unmaintainable software. Like a garden, the nature of software development tends to decay code that requires an increasing amount of time to understand the code than writing it. What can we do? This talk shares the impact of unmaintainable software and how to deal with it through the developer skill of code smells & refactoring.

1 of 13
Download to read offline
Code Smells and Refactoring
stanly@odd-e.com
@stanlylau
Stanly Lau
Lives in Singapore
Software development coach / mentor
Lead Agile Singapore community
I’m Stanly
• Lives in Singapore
• Agile coach, SW developer
• Worked in small to large companies
• Experienced in Insurance, Mobile Safety, Education, Logistics and Banking
• Java, .Net, JavaScript, Objective-C
I’m Stanly
• Lives in Singapore
• Agile coach, SW developer
• Worked in small to large companies
• Experienced in Insurance, Mobile Safety, Education, Logistics and Banking
• Java, .Net, JavaScript, Objective-C
Agile Singapore 2016 Conference
https://www.facebook.com/AgileSingapore
Martin Fowler
Author of Refactoring, Enterprise
Architecture Patterns and more…
https://www.facebook.com/AgileSingapore
Software maintainability
http://www.marketingfirepower.info/the-minefield-you-didn’t-know-you-were-in

Recommended

More Related Content

Viewers also liked

重構三兩事
重構三兩事重構三兩事
重構三兩事teddysoft
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code SmellsMario Sangiorgio
 
從五個小故事看敏捷開發精神
從五個小故事看敏捷開發精神從五個小故事看敏捷開發精神
從五個小故事看敏捷開發精神teddysoft
 
Refactoring 101
Refactoring 101Refactoring 101
Refactoring 101Adam Culp
 
Investing for the Smart City: Five Points for Tri-City Education Leaders to C...
Investing for the Smart City: Five Points for Tri-City Education Leaders to C...Investing for the Smart City: Five Points for Tri-City Education Leaders to C...
Investing for the Smart City: Five Points for Tri-City Education Leaders to C...Jeremy Williams
 
Joseph DeLappe's Student Work 2005-2015
Joseph DeLappe's Student Work 2005-2015Joseph DeLappe's Student Work 2005-2015
Joseph DeLappe's Student Work 2005-2015Joseph DeLappe
 
التعليم الإلكتروني E learning
التعليم الإلكتروني E learningالتعليم الإلكتروني E learning
التعليم الإلكتروني E learningmg33662
 
MAAK KENNIS door Duco Scholtanus
MAAK KENNIS door Duco ScholtanusMAAK KENNIS door Duco Scholtanus
MAAK KENNIS door Duco Scholtanuslensens
 
9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...
9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...
9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...Gilbert Direct Marketing, Inc.
 
What next for business in a climate constrained world?
What next for business in a climate constrained world?What next for business in a climate constrained world?
What next for business in a climate constrained world?Jeremy Williams
 
Aretleri
AretleriAretleri
Aretleriyardimt
 
Lauamangudest 170210 M Tapupere
Lauamangudest 170210 M TapupereLauamangudest 170210 M Tapupere
Lauamangudest 170210 M TapupereSirje Aher
 
The immutable law of social media #REALationships #smdaysfl 2015
The immutable law of social media #REALationships #smdaysfl 2015The immutable law of social media #REALationships #smdaysfl 2015
The immutable law of social media #REALationships #smdaysfl 2015Gilbert Direct Marketing, Inc.
 
C+£Mle T+£Rler+ø
C+£Mle T+£Rler+øC+£Mle T+£Rler+ø
C+£Mle T+£Rler+øyardimt
 

Viewers also liked (20)

重構三兩事
重構三兩事重構三兩事
重構三兩事
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code Smells
 
從五個小故事看敏捷開發精神
從五個小故事看敏捷開發精神從五個小故事看敏捷開發精神
從五個小故事看敏捷開發精神
 
Code Refactoring
Code RefactoringCode Refactoring
Code Refactoring
 
Refactoring 101
Refactoring 101Refactoring 101
Refactoring 101
 
Investing for the Smart City: Five Points for Tri-City Education Leaders to C...
Investing for the Smart City: Five Points for Tri-City Education Leaders to C...Investing for the Smart City: Five Points for Tri-City Education Leaders to C...
Investing for the Smart City: Five Points for Tri-City Education Leaders to C...
 
Mystery 2: Town
Mystery 2: Town Mystery 2: Town
Mystery 2: Town
 
Syndcom
SyndcomSyndcom
Syndcom
 
Haiku
HaikuHaiku
Haiku
 
Joseph DeLappe's Student Work 2005-2015
Joseph DeLappe's Student Work 2005-2015Joseph DeLappe's Student Work 2005-2015
Joseph DeLappe's Student Work 2005-2015
 
Dfg Intranet Development
Dfg Intranet DevelopmentDfg Intranet Development
Dfg Intranet Development
 
التعليم الإلكتروني E learning
التعليم الإلكتروني E learningالتعليم الإلكتروني E learning
التعليم الإلكتروني E learning
 
MAAK KENNIS door Duco Scholtanus
MAAK KENNIS door Duco ScholtanusMAAK KENNIS door Duco Scholtanus
MAAK KENNIS door Duco Scholtanus
 
9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...
9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...
9 Immutable Laws of Social Media in action: Guerrilla Video, Video Plus Socia...
 
What next for business in a climate constrained world?
What next for business in a climate constrained world?What next for business in a climate constrained world?
What next for business in a climate constrained world?
 
Aretleri
AretleriAretleri
Aretleri
 
Lauamangudest 170210 M Tapupere
Lauamangudest 170210 M TapupereLauamangudest 170210 M Tapupere
Lauamangudest 170210 M Tapupere
 
The immutable law of social media #REALationships #smdaysfl 2015
The immutable law of social media #REALationships #smdaysfl 2015The immutable law of social media #REALationships #smdaysfl 2015
The immutable law of social media #REALationships #smdaysfl 2015
 
Building geo registered-x3_d
Building geo registered-x3_dBuilding geo registered-x3_d
Building geo registered-x3_d
 
C+£Mle T+£Rler+ø
C+£Mle T+£Rler+øC+£Mle T+£Rler+ø
C+£Mle T+£Rler+ø
 

Similar to Code Smells and Refactoring

Pole emploi at Agile Cambridge
Pole emploi at Agile CambridgePole emploi at Agile Cambridge
Pole emploi at Agile CambridgeCecile Auret
 
SharePoint Friday Cincinnati 2016 Drive on the Fast Track to SharePoint End ...
SharePoint Friday Cincinnati 2016  Drive on the Fast Track to SharePoint End ...SharePoint Friday Cincinnati 2016  Drive on the Fast Track to SharePoint End ...
SharePoint Friday Cincinnati 2016 Drive on the Fast Track to SharePoint End ...Heather Newman
 
PO Survival Strategies
PO Survival StrategiesPO Survival Strategies
PO Survival StrategiesMike Miller
 
IT, ITeS & Consulting Companies - Mobile Learning through mGyan
IT, ITeS & Consulting Companies - Mobile Learning through mGyanIT, ITeS & Consulting Companies - Mobile Learning through mGyan
IT, ITeS & Consulting Companies - Mobile Learning through mGyanmGyan
 
Boost your revenue with agile software development
Boost your revenue with agile software developmentBoost your revenue with agile software development
Boost your revenue with agile software developmentMuhammad Singgih Z.A
 
Skope Business Ventures - Official Company Profile
Skope Business Ventures - Official Company ProfileSkope Business Ventures - Official Company Profile
Skope Business Ventures - Official Company ProfileSkope Business Ventures
 
Jaqueline Combrink Curriculum Vitae_2017
Jaqueline Combrink Curriculum Vitae_2017Jaqueline Combrink Curriculum Vitae_2017
Jaqueline Combrink Curriculum Vitae_2017Jackie Combrink
 
Outsource people conference 2017 - Project as a Titanic
Outsource people conference 2017 - Project as a TitanicOutsource people conference 2017 - Project as a Titanic
Outsource people conference 2017 - Project as a TitanicAnna Lavrova
 
SparkLabs Accelerator Q1 2015
SparkLabs Accelerator Q1 2015SparkLabs Accelerator Q1 2015
SparkLabs Accelerator Q1 2015Bernard Moon
 
David lee profile v1
David lee profile v1David lee profile v1
David lee profile v1David Lee
 
Pablo García Montes - Product Manager | Product Owner | Scrum Coach
Pablo García Montes - Product Manager | Product Owner | Scrum CoachPablo García Montes - Product Manager | Product Owner | Scrum Coach
Pablo García Montes - Product Manager | Product Owner | Scrum CoachPablo García Montes
 
SAP MBA Impact Overview 2016
SAP MBA Impact Overview 2016SAP MBA Impact Overview 2016
SAP MBA Impact Overview 2016Fred Isbell
 

Similar to Code Smells and Refactoring (20)

CV Warendra B Alwie 020516
CV Warendra B Alwie 020516CV Warendra B Alwie 020516
CV Warendra B Alwie 020516
 
Pole emploi at Agile Cambridge
Pole emploi at Agile CambridgePole emploi at Agile Cambridge
Pole emploi at Agile Cambridge
 
Sakshi_Resume
Sakshi_Resume Sakshi_Resume
Sakshi_Resume
 
Aravind J Nayak
Aravind J NayakAravind J Nayak
Aravind J Nayak
 
SharePoint Friday Cincinnati 2016 Drive on the Fast Track to SharePoint End ...
SharePoint Friday Cincinnati 2016  Drive on the Fast Track to SharePoint End ...SharePoint Friday Cincinnati 2016  Drive on the Fast Track to SharePoint End ...
SharePoint Friday Cincinnati 2016 Drive on the Fast Track to SharePoint End ...
 
PO Survival Strategies
PO Survival StrategiesPO Survival Strategies
PO Survival Strategies
 
IT, ITeS & Consulting Companies - Mobile Learning through mGyan
IT, ITeS & Consulting Companies - Mobile Learning through mGyanIT, ITeS & Consulting Companies - Mobile Learning through mGyan
IT, ITeS & Consulting Companies - Mobile Learning through mGyan
 
E book Ciba SAP
E book Ciba SAPE book Ciba SAP
E book Ciba SAP
 
SlamBook App
SlamBook App SlamBook App
SlamBook App
 
Boost your revenue with agile software development
Boost your revenue with agile software developmentBoost your revenue with agile software development
Boost your revenue with agile software development
 
SlamBook App
SlamBook AppSlamBook App
SlamBook App
 
Skope Business Ventures - Official Company Profile
Skope Business Ventures - Official Company ProfileSkope Business Ventures - Official Company Profile
Skope Business Ventures - Official Company Profile
 
Jaqueline Combrink Curriculum Vitae_2017
Jaqueline Combrink Curriculum Vitae_2017Jaqueline Combrink Curriculum Vitae_2017
Jaqueline Combrink Curriculum Vitae_2017
 
Outsource people conference 2017 - Project as a Titanic
Outsource people conference 2017 - Project as a TitanicOutsource people conference 2017 - Project as a Titanic
Outsource people conference 2017 - Project as a Titanic
 
SparkLabs Accelerator Q1 2015
SparkLabs Accelerator Q1 2015SparkLabs Accelerator Q1 2015
SparkLabs Accelerator Q1 2015
 
David lee profile v1
David lee profile v1David lee profile v1
David lee profile v1
 
Pablo García Montes - Product Manager | Product Owner | Scrum Coach
Pablo García Montes - Product Manager | Product Owner | Scrum CoachPablo García Montes - Product Manager | Product Owner | Scrum Coach
Pablo García Montes - Product Manager | Product Owner | Scrum Coach
 
SAP MBA Impact Overview 2016
SAP MBA Impact Overview 2016SAP MBA Impact Overview 2016
SAP MBA Impact Overview 2016
 
Saranya_CV_Senior_Associate
Saranya_CV_Senior_AssociateSaranya_CV_Senior_Associate
Saranya_CV_Senior_Associate
 
CV_AYAN DASGUPTA
CV_AYAN DASGUPTACV_AYAN DASGUPTA
CV_AYAN DASGUPTA
 

More from Stanly Lau

Get better at Refactoring (Voxxed Days)
Get better at Refactoring (Voxxed Days)Get better at Refactoring (Voxxed Days)
Get better at Refactoring (Voxxed Days)Stanly Lau
 
Get better at Refactoring
Get better at RefactoringGet better at Refactoring
Get better at RefactoringStanly Lau
 
The Common Ground of Coffee-making and Agile
The Common Ground of Coffee-making and AgileThe Common Ground of Coffee-making and Agile
The Common Ground of Coffee-making and AgileStanly Lau
 
How I help others to level up technical practices
How I help others to level up technical practicesHow I help others to level up technical practices
How I help others to level up technical practicesStanly Lau
 
Technical Mentoring, What works and not
Technical Mentoring, What works and notTechnical Mentoring, What works and not
Technical Mentoring, What works and notStanly Lau
 
Some well known people
Some well known peopleSome well known people
Some well known peopleStanly Lau
 

More from Stanly Lau (6)

Get better at Refactoring (Voxxed Days)
Get better at Refactoring (Voxxed Days)Get better at Refactoring (Voxxed Days)
Get better at Refactoring (Voxxed Days)
 
Get better at Refactoring
Get better at RefactoringGet better at Refactoring
Get better at Refactoring
 
The Common Ground of Coffee-making and Agile
The Common Ground of Coffee-making and AgileThe Common Ground of Coffee-making and Agile
The Common Ground of Coffee-making and Agile
 
How I help others to level up technical practices
How I help others to level up technical practicesHow I help others to level up technical practices
How I help others to level up technical practices
 
Technical Mentoring, What works and not
Technical Mentoring, What works and notTechnical Mentoring, What works and not
Technical Mentoring, What works and not
 
Some well known people
Some well known peopleSome well known people
Some well known people
 

Recently uploaded

Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriSafe Software
 
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueCloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueShapeBlue
 
AGFM - Toyota Coaster 1HZ Install Guide.pdf
AGFM - Toyota Coaster 1HZ Install Guide.pdfAGFM - Toyota Coaster 1HZ Install Guide.pdf
AGFM - Toyota Coaster 1HZ Install Guide.pdfRodneyThomas28
 
New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024ThousandEyes
 
How AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptxHow AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptxInfosec
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueShapeBlue
 
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...Cprime
 
Large Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareLarge Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareAsma Ben Abacha
 
ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...
ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...
ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...Neo4j
 
SKY Paradigms, change and cake: the steep curve of introducing new technologies
SKY Paradigms, change and cake: the steep curve of introducing new technologiesSKY Paradigms, change and cake: the steep curve of introducing new technologies
SKY Paradigms, change and cake: the steep curve of introducing new technologiesNeo4j
 
AMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes WebinarAMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes WebinarThousandEyes
 
Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...BookNet Canada
 
Establishing data sharing standards to promote global industry development
Establishing data sharing standards to promote global industry developmentEstablishing data sharing standards to promote global industry development
Establishing data sharing standards to promote global industry developmentThorsten Huelsmann
 
KUBRICK Graphs: A journey from in vogue to success-ion
KUBRICK Graphs: A journey from in vogue to success-ionKUBRICK Graphs: A journey from in vogue to success-ion
KUBRICK Graphs: A journey from in vogue to success-ionNeo4j
 
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Chris Bingham
 
My Journey towards Artificial Intelligence
My Journey towards Artificial IntelligenceMy Journey towards Artificial Intelligence
My Journey towards Artificial IntelligenceVijayananda Mohire
 
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptxThe Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptxNeo4j
 
Python For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ emPython For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ emNho Vĩnh
 
Pragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdfPragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdfinfogdgmi
 
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...James Anderson
 

Recently uploaded (20)

Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & Esri
 
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueCloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
 
AGFM - Toyota Coaster 1HZ Install Guide.pdf
AGFM - Toyota Coaster 1HZ Install Guide.pdfAGFM - Toyota Coaster 1HZ Install Guide.pdf
AGFM - Toyota Coaster 1HZ Install Guide.pdf
 
New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024
 
How AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptxHow AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptx
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
 
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
 
Large Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareLarge Language Models and Applications in Healthcare
Large Language Models and Applications in Healthcare
 
ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...
ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...
ASTRAZENECA. Knowledge Graphs Powering a Fast-moving Global Life Sciences Org...
 
SKY Paradigms, change and cake: the steep curve of introducing new technologies
SKY Paradigms, change and cake: the steep curve of introducing new technologiesSKY Paradigms, change and cake: the steep curve of introducing new technologies
SKY Paradigms, change and cake: the steep curve of introducing new technologies
 
AMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes WebinarAMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes Webinar
 
Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...
 
Establishing data sharing standards to promote global industry development
Establishing data sharing standards to promote global industry developmentEstablishing data sharing standards to promote global industry development
Establishing data sharing standards to promote global industry development
 
KUBRICK Graphs: A journey from in vogue to success-ion
KUBRICK Graphs: A journey from in vogue to success-ionKUBRICK Graphs: A journey from in vogue to success-ion
KUBRICK Graphs: A journey from in vogue to success-ion
 
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
 
My Journey towards Artificial Intelligence
My Journey towards Artificial IntelligenceMy Journey towards Artificial Intelligence
My Journey towards Artificial Intelligence
 
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptxThe Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
 
Python For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ emPython For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ em
 
Pragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdfPragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdf
 
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
 

Code Smells and Refactoring

  • 1. Code Smells and Refactoring stanly@odd-e.com @stanlylau
  • 2. Stanly Lau Lives in Singapore Software development coach / mentor Lead Agile Singapore community
  • 3. I’m Stanly • Lives in Singapore • Agile coach, SW developer • Worked in small to large companies • Experienced in Insurance, Mobile Safety, Education, Logistics and Banking • Java, .Net, JavaScript, Objective-C
  • 4. I’m Stanly • Lives in Singapore • Agile coach, SW developer • Worked in small to large companies • Experienced in Insurance, Mobile Safety, Education, Logistics and Banking • Java, .Net, JavaScript, Objective-C Agile Singapore 2016 Conference https://www.facebook.com/AgileSingapore
  • 5. Martin Fowler Author of Refactoring, Enterprise Architecture Patterns and more… https://www.facebook.com/AgileSingapore
  • 7. Seeing system dynamics: Casual Loop Diagram bank balance earned interest Reinforcing loop feature velocity #defects Balancing loop
  • 8. The nature of software development Learning this nature and dealing with it helps to increase flexibility. amount of bad code # bugs time spent on fixing bugs panicquick hacks motivation of developers refactoring amount of code smells indicates opportunity for
  • 9. What is Code Smell? “a code smell is a surface indication that usually corresponds to a deeper problem in the system” Martin Fowler Duplicated Code Magic Number Feature Envy Primitive Obsession Long Method Comments
  • 10. What is Refactoring? “…is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.” Martin Fowler Extract Local Variable Extract Class Introduce Local Variable Rename Move Method Extract Method
  • 11. Demo