Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What if Clean Code is a scam?

What if Clean Code is a scam?

Here you can find all links from this presentation: https://gist.github.com/mehowte/b28b04f187fe35638769

WHAT IF CLEAN CODE IS A SCAM? It seems that we are keen to follow charismatic leaders who tell us how to do stuff. There are already a lot of rules and principles that we take for granted instead of asking questions: Will this really improve my code? Will it help me deliver faster/more reliably in the long run? It seems that sometimes we fail to challenge their ideas. Maybe you can have too many classes? What if your methods don't need to fit in a tweet? Maybe Object Oriented design as a whole is a case of premature optimisation? What if we just waste time writing tests for everything? Maybe cucumber is a massive overkill? What if... DHH was right? Then again, he is also a charismatic leader...

Michał Taszycki

March 13, 2015
Tweet

More Decks by Michał Taszycki

Other Decks in Programming

Transcript

  1. What if…? WHAT IF CLEAN CODE IS A SCAM? It

    seems that we are keen to follow charismatic leaders who tell us how to do stuff. There are already a lot of rules and principles that we take for granted instead of asking questions: Will this really improve my code? Will it help me deliver faster/more reliably in the long run? It seems that sometimes we fail to challenge their ideas. Maybe you can have too many classes? What if your methods don't need to fit in a tweet? Maybe Object Oriented design as a whole is a case of premature optimisation? What if we just waste time writing tests for everything? Maybe cucumber is a massive overkill? What if... DHH was right? Then again, he is also a charismatic leader...
  2. What if…? WHAT IF CLEAN CODE IS A SCAM? It

    seems that we are keen to follow charismatic leaders who tell us how to do stuff. There are already a lot of rules and principles that we take for granted instead of asking questions: Will this really improve my code? Will it help me deliver faster/more reliably in the long run? It seems that sometimes we fail to challenge their ideas. Maybe you can have too many classes? What if your methods don't need to fit in a tweet? Maybe Object Oriented design as a whole is a case of premature optimisation? What if we just waste time writing tests for everything? Maybe cucumber is a massive overkill? What if... DHH was right? Then again, he is also a charismatic leader...
  3. Doubtful • Michał Taszycki - @mehowte • Neutral - Good

    / Chaotic - Good • former AAA Game Developer • Develops Clean Code Remotely at GunpowderLabs • Launches Commodore 64 Screencasts soon.
  4. Coding Style • John Carmack on Inlined Code • Jonathan

    Blow on Coding Style in Braid • John Carmack on Functional Programming • Handmade Hero by Casey Muratori • Casey Muratori on API Design
  5. Refactoring I also must confess to a strong bias against

    the fashion for reusable code. To me, "re-editable code" is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace. — Donald Knuth
  6. Refactoring I also must confess to a strong bias against

    the fashion for reusable code. To me, "re-editable code" is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace. — Donald Knuth
  7. Refactoring • Things You Should Never Do by Joel Spolsky

    • The Big Rewrite, Revisited by DHH • Jonathan Blow - designing new Programming Language For games part 2 • Literate Programming by Donald Knuth
  8. OOP

  9. OOP

  10. OOP

  11. OOP

  12. OOP

  13. OOP

  14. OOP

  15. OOP

  16. OOP • Search “garybernhardt oop” on twitter • OOP is

    an expensive disaster which must end • Compression Oriented Programming by C. Muratori • Data Oriented Design by Noel Loppis • Mike Acton on Data Oriented Design • Immediate Mode GUI by Casey Muratori
  17. TDD

  18. TDD

  19. TDD

  20. TDD

  21. TDD

  22. TDD • TDD is dead. Long live testing. by DHH

    • TDD, Straw Men, and Rhetoric by Gary Bernhardt • Monogamous TDD by Robert Martin • Search for “@dhh tdd is dead” on twitter • http://martinfowler.com/articles/is-tdd-dead/
  23. Git

  24. Git

  25. Git

  26. Git

  27. Git

  28. Git

  29. Git

  30. Git • Search twitter for “Jonathan Blow git” • Jonathan

    Blow on using SVN in Witness • Unorthodocs: Abandon your DVCS and Return to Sanity
  31. Diversity 1. accessibility, regardless of culture, gender, skin colour 2.

    freedom to express extreme/contrarian ideas Different Focus
  32. Diversity 1. Some believe those aspects are opposite 2. Some

    believe one cannot be achieved without other 3. Some believe they can coexist 4. Some focus on one and neglect the other 5. Some focus on one and fight the other Different World-views
  33. Diversity • Feminism 101 on Geek Feminism Wiki • Code

    of Conduct 101 by Ashe Dryden • Talk with Wroc_love.rb organizers • Talk with those who oppose Wroc_love.rb • Don’t be afraid to state your opinion • Don’t be afraid to change your opinion
  34. Listen to this Łona & Webber - Have a doubt

    (polish hip-hop song with english subtitles).