SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Sven Peters / Atlassian


Wenn Code altert
Tipps, wie Wartungsprojekte frisch bleiben
Sven Peters
Ambassador




@svenpet
svenpet.com
mobro.co/svenpet
Disclaimer




       my
         Experience
@svenpet
svenpet.com
“   Nothing has a more profound or long-
    lasting negative effect on the productivity
    of a software team than a mess. Nothing.
                                 Robert C. Martin
                                                    “
?
Maintenance
          projekt
?
5 years
lin
?     1M+
   es
      of
         co
           de
lin
?  es
      2M+
      of
         co
           de
?
  lost
overview

                de
              co
           of
        es
     lin
Har

Bath Tub Curve
                  dw
                     a   re
Sof

Bath Tub Curve
                  twa
                        re
Sof

Bath Tub Curve
                  twa
                        re
Field
green
How long does it take?


                                 8 hours
                                                    no Tests!
            grüne
We need it in 6!
                    Wiese
                             OK, I‘ll do it in 4!
more cooks!
too many cooks...




            ...spoil the broth
REWRITE
REWRITE
e n
    ro k
B    Windows
Don‘t stop
the Engines
THE DEVELOPER




THE MANAGER

                              THE SCRUM MASTER




                     There is
                              no Plan B
Boy Scout Rule




  Leave the campground cleaner than you
  found it.
Toolchain
The
readability
improve
Naming


“ Any fool can write code that ahumans cancan understand. Good
                                 computer
  programmers write code that              understand.            “
                                                       Martin Fowler
no
     comment
test
automated
Legacy Code Change Algorithm   by Michael C. Feathers


1. Identify Change Points

2. Make Changes and Refactor
Legacy Code Change Algorithm   by Michael C. Feathers


1. Identify Change Points

2. Find Test Points

3. Break Dependencies

4. Write Tests

5. Make Changes and Refactor
Clean Code
ingle Responsible Principle

pen Closed Principle

iskow Substitution Principle

nterface Segregation Principle

ependency Inversion Principle
Root Ca
         usposition over Inheritaince
Favour Com e Analysis rself             on
                                   ract
                       you NeedtIt
        Yout Aep‘t Gt nna bsrns
               in eao
       Do n‘ r              onA e
                           C of c
   DRYKISSperation of el
         Se - Kee       ev
                   p etLs
                      i im
                 ingl       ple, s
               S                  tupid
Clean Code
Developer
             von
             Stefan Lieser &
             Ralf Westphal
             clean-code-developer.de
Evolve


Clean Code
    &
Developer
Sven Peters
                   Atlassian




@svenpet

Más contenido relacionado

La actualidad más candente

7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers
Carol Smith
 

La actualidad más candente (12)

5-Whys Method
5-Whys Method5-Whys Method
5-Whys Method
 
Agile and the evolution
Agile and the evolutionAgile and the evolution
Agile and the evolution
 
Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every Team
 
Test innovation for everyone
Test innovation for everyoneTest innovation for everyone
Test innovation for everyone
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming Live
 
Running efficient distributed teams
Running efficient distributed teamsRunning efficient distributed teams
Running efficient distributed teams
 
Why just fake it
Why just fake itWhy just fake it
Why just fake it
 
Dev / non dev communication
Dev / non dev communicationDev / non dev communication
Dev / non dev communication
 
10 Secret Unit Testing Tips
10 Secret Unit Testing Tips10 Secret Unit Testing Tips
10 Secret Unit Testing Tips
 
TDD - Why and How?
TDD - Why and How?TDD - Why and How?
TDD - Why and How?
 
10 Secret Unit Testing Tips
10 Secret Unit Testing Tips10 Secret Unit Testing Tips
10 Secret Unit Testing Tips
 
7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers
 

Destacado

Atlassian Bonfire
Atlassian BonfireAtlassian Bonfire
Atlassian Bonfire
Sven Peters
 
Atlassian User Group Wiesbaden
Atlassian User Group WiesbadenAtlassian User Group Wiesbaden
Atlassian User Group Wiesbaden
Sven Peters
 
Software Programming Principles
Software Programming PrinciplesSoftware Programming Principles
Software Programming Principles
Sven Peters
 

Destacado (20)

Atlassian Bonfire
Atlassian BonfireAtlassian Bonfire
Atlassian Bonfire
 
Atlassian User Group Karlsruhe + München
Atlassian User Group Karlsruhe + MünchenAtlassian User Group Karlsruhe + München
Atlassian User Group Karlsruhe + München
 
Atlassian User Group Berlin Brandenburg
Atlassian User Group Berlin BrandenburgAtlassian User Group Berlin Brandenburg
Atlassian User Group Berlin Brandenburg
 
Making the switch to DVCS
Making the switch to DVCSMaking the switch to DVCS
Making the switch to DVCS
 
JIRA 4.4
JIRA 4.4JIRA 4.4
JIRA 4.4
 
Aug Karlsruhe
Aug Karlsruhe Aug Karlsruhe
Aug Karlsruhe
 
Atlassian User Group NRW
Atlassian User Group NRWAtlassian User Group NRW
Atlassian User Group NRW
 
Atlassian User Group Wiesbaden
Atlassian User Group WiesbadenAtlassian User Group Wiesbaden
Atlassian User Group Wiesbaden
 
JIRA Enterprise
JIRA EnterpriseJIRA Enterprise
JIRA Enterprise
 
Keynote CCD 2011
Keynote CCD 2011Keynote CCD 2011
Keynote CCD 2011
 
Atlassian User Group Bielefeld
Atlassian User Group BielefeldAtlassian User Group Bielefeld
Atlassian User Group Bielefeld
 
Software Programming Principles
Software Programming PrinciplesSoftware Programming Principles
Software Programming Principles
 
Confluence - From Wiki to Collaboration Platform
Confluence - From Wiki to Collaboration PlatformConfluence - From Wiki to Collaboration Platform
Confluence - From Wiki to Collaboration Platform
 
Atlassian: The latest and greatest - May/June 2013
Atlassian: The latest and greatest - May/June 2013Atlassian: The latest and greatest - May/June 2013
Atlassian: The latest and greatest - May/June 2013
 
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software DevelopmentHow To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
 
The Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsThe Secret Sauce of Successful Teams
The Secret Sauce of Successful Teams
 
Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014
 
Build Better Software Together
Build Better Software TogetherBuild Better Software Together
Build Better Software Together
 
Atlassian User Group - September 2013
Atlassian User Group - September 2013Atlassian User Group - September 2013
Atlassian User Group - September 2013
 

Similar a W jax wenn-code altert

Similar a W jax wenn-code altert (20)

Clearly, I Have Made Some Bad Decisions
Clearly, I Have Made Some Bad DecisionsClearly, I Have Made Some Bad Decisions
Clearly, I Have Made Some Bad Decisions
 
Agile analysis development
Agile analysis developmentAgile analysis development
Agile analysis development
 
Getting Started In Qa
Getting Started In QaGetting Started In Qa
Getting Started In Qa
 
How to make good teams great - Sven Peters
How to make good teams great - Sven PetersHow to make good teams great - Sven Peters
How to make good teams great - Sven Peters
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
QC Merge 2012: Growing community
QC Merge 2012: Growing communityQC Merge 2012: Growing community
QC Merge 2012: Growing community
 
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
 
Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...
Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...
Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...
 
Spring, CDI, Jakarta EE good parts
Spring, CDI, Jakarta EE good partsSpring, CDI, Jakarta EE good parts
Spring, CDI, Jakarta EE good parts
 
Le PERL est mort
Le PERL est mortLe PERL est mort
Le PERL est mort
 
TDD and Getting Paid
TDD and Getting PaidTDD and Getting Paid
TDD and Getting Paid
 
Automatic detection of highlights from a Cricket Match
Automatic detection of highlights from a Cricket MatchAutomatic detection of highlights from a Cricket Match
Automatic detection of highlights from a Cricket Match
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software design
 
Dear compiler please don't be my nanny v2
Dear compiler  please don't be my nanny v2Dear compiler  please don't be my nanny v2
Dear compiler please don't be my nanny v2
 
Agile Rabbit Holes
Agile Rabbit HolesAgile Rabbit Holes
Agile Rabbit Holes
 
Ruby codebases in an entropic universe
Ruby codebases in an entropic universeRuby codebases in an entropic universe
Ruby codebases in an entropic universe
 
Shelby Tech Talk - The Early Days
Shelby Tech Talk - The Early DaysShelby Tech Talk - The Early Days
Shelby Tech Talk - The Early Days
 
Conversational Speech Translation - Challenges and Techniques, by Chris Wendt...
Conversational Speech Translation - Challenges and Techniques, by Chris Wendt...Conversational Speech Translation - Challenges and Techniques, by Chris Wendt...
Conversational Speech Translation - Challenges and Techniques, by Chris Wendt...
 
Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

Más de Sven Peters

Más de Sven Peters (20)

✊ Join the DEV-olution: A culture of empowered developers
✊ Join the DEV-olution: A culture of empowered developers✊ Join the DEV-olution: A culture of empowered developers
✊ Join the DEV-olution: A culture of empowered developers
 
Team Shaping - Building a shared understanding
Team Shaping - Building a shared understandingTeam Shaping - Building a shared understanding
Team Shaping - Building a shared understanding
 
Developer Joy - How great teams get s%*t done
Developer Joy - How great teams get s%*t doneDeveloper Joy - How great teams get s%*t done
Developer Joy - How great teams get s%*t done
 
Teams Flow, Stay in sync, async
Teams Flow, Stay in sync, asyncTeams Flow, Stay in sync, async
Teams Flow, Stay in sync, async
 
The Hitchhiker's Guide to a Great Developer Career
The Hitchhiker's Guide to a Great Developer CareerThe Hitchhiker's Guide to a Great Developer Career
The Hitchhiker's Guide to a Great Developer Career
 
The Effective Developer - Work Smarter, not Harder
The Effective Developer - Work Smarter, not HarderThe Effective Developer - Work Smarter, not Harder
The Effective Developer - Work Smarter, not Harder
 
How to Become a Conference Speaker
How to Become a Conference SpeakerHow to Become a Conference Speaker
How to Become a Conference Speaker
 
The Effective Developer - Work Smarter, Not Harder
The Effective Developer - Work Smarter, Not HarderThe Effective Developer - Work Smarter, Not Harder
The Effective Developer - Work Smarter, Not Harder
 
5 Things: How to Rock Remote Work
5 Things: How to Rock Remote Work5 Things: How to Rock Remote Work
5 Things: How to Rock Remote Work
 
A Career Advice: Change is the Only Constant
A Career Advice: Change is the Only ConstantA Career Advice: Change is the Only Constant
A Career Advice: Change is the Only Constant
 
Be More Productive with Confluence
Be More Productive with ConfluenceBe More Productive with Confluence
Be More Productive with Confluence
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team Playbook
 
Rise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your Development
 
Kick-@$$ Sofware Development
Kick-@$$ Sofware DevelopmentKick-@$$ Sofware Development
Kick-@$$ Sofware Development
 
The 5 Hottest Atlassian News from Summit 2014
The 5 Hottest Atlassian News from Summit 2014The 5 Hottest Atlassian News from Summit 2014
The 5 Hottest Atlassian News from Summit 2014
 
Coding Culture
Coding CultureCoding Culture
Coding Culture
 
It's the culture, but not as you know it
It's the culture, but not as you know itIt's the culture, but not as you know it
It's the culture, but not as you know it
 
Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
 
Git Branching for Agile Teams
Git Branching for Agile TeamsGit Branching for Agile Teams
Git Branching for Agile Teams
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

W jax wenn-code altert