Antipatterns in Software Engineering Dr. Vadim Zaytsev aka - - PowerPoint PPT Presentation

antipatterns in software engineering
SMART_READER_LITE
LIVE PREVIEW

Antipatterns in Software Engineering Dr. Vadim Zaytsev aka - - PowerPoint PPT Presentation

Antipatterns in Software Engineering Dr. Vadim Zaytsev aka @grammarware 2015 Design AntiPatterns * AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis * Using design patterns is a design anti-pattern * not


slide-1
SLIDE 1

Antipatterns in Software Engineering

  • Dr. Vadim Zaytsev aka @grammarware

2015

slide-2
SLIDE 2

Design AntiPatterns

* AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis * “Using design patterns is a design anti-pattern”

* not enough abstraction

slide-3
SLIDE 3

Methodological

* Copy-paste programming * Premature optimisation * root of all evil * Dependency hell * Rule of credibility * First 90% of code - 90% of time, remaining 10% - the other 90% of time * Analysis paralysis * Vendor lock-in * Smoke and mirrors

slide-4
SLIDE 4

Technological

* Cargo cult programming * Big ball of mud * Circular dependency * Sequential coupling * Yo-yo / spaghetti * Hard-coded assumptions

slide-5
SLIDE 5

Bug Patterns

* Bug Patterns in Java * Null Pointers * Double Descent * Orphaned Thread * etc * FindBugs, Checkstyle & linters

slide-6
SLIDE 6

Code smells

* Duplicated code * Feature envy * Inappropriate intimacy * Indecent Exposure * Conditional complexity * Large class * Inconsistent naming * Solution sprawl * etc

http://blog.codinghorror.com/code-smells/

slide-7
SLIDE 7

Conclusion

* Not all patterns are positive * Learn to recognise & avoid * Not all antipatterns are negative * Further reading: * Code Complete, http://cc2e.com * How to Write Unmaintainable Code,

http://thc.org/root/phun/unmaintain.html