Writing code you won't hate tomorrow
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Writing code you won't hate tomorrow

  • 3,514 views
Uploaded on

As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? ...

As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.

More in: Engineering , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • raguial-
    Are you sure you want to
    Your message goes here
  • MeusAmigos assim não consigo responder às vossas perguntam. Traduzam por favor. Não vejo nada onde possa clicar 'traduzir',OK?
    Are you sure you want to
    Your message goes here
  • Fraguial-
    Are you sure you want to
    Your message goes here
  • Gostaria que houvesse tradução, assim não compreendo muita coisa,ok?
    Are you sure you want to
    Your message goes here

Views

Total Views
3,514
On Slideshare
2,638
From Embeds
876
Number of Embeds
20

Actions

Shares
Downloads
113
Comments
4
Likes
85

Embeds 876

http://sticky.app 748
http://www.stickycontent.com 46
https://twitter.com 17
http://127.0.0.1 14
http://barcelonaintercultural.blogspot.com.es 12
http://managment.learningplatform.com 10
http://localhost 8
https://vam103.wordpress.com 5
http://vam103.wordpress.com 3
http://192.168.2.128 2
https://peda.net 2
http://www26.jimdo.com 1
http://stg.contentcapsule.com 1
https://www.linkedin.com 1
http://tecnologiageneral5.wikispaces.com 1
http://www.google.com&_=1415708449499 HTTP 1
https://www.blogger.com 1
http://puertasm.wikispaces.com 1
https://www.mindtalk.com 1
https://home.jolicloud.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Writing code that lasts. Rafael Dohms @rdohms photo: djandyw.com
  • 2. Writing code you won’t hate tomorrow. Rafael Dohms @rdohms photo: djandyw.com
  • 3. Let me introduce you to someone…
  • 4. No Tests. shhh.. don’t tell Grumpy. Wrote his own framework. .. and used it. Used Singletons! .. and every other anti-pattern out there. 500 line methods. … not even methods, they were functions
  • 5. photo: Rob Allen (@akrabat)
  • 6. REWRITE ALL THE CODE!
  • 7. photo: Glyn Lowe Photoworks Real Developers, SHIP STUFF.
  • 8. How do we find balance? photo: Kalexanderson
  • 9. Code has an expiration date photo: CarbonNYC
  • 10. Code is photo by: massdistraction perishable, it rots.
  • 11. Code Evolves photo by: kevin dooley
  • 12. Languages evolve. photo by: raneko
  • 13. You evolve. photo by: Kaptain Kobold
  • 14. Complexity kills Comprehension photo: osbornb
  • 15. Bad Design photo: miskan
  • 16. Bad specs
  • 17. NIH photo by: John 'K' source: Urban dictionary
  • 18. NIH | nɒt ɪnˈventɪd hɪə | Not Invented Here —The German art of humiliating any technology, agricultural product, or (medical) scientific work that has not been invented or produced in Germany, Switzerland, or Austria. photo by: John 'K' source: Urban dictionary
  • 19. The Solution™ photo: Ian Sane
  • 20. Improve code
  • 21. make it easier to comprehend Improve code
  • 22. make it easier to comprehend make it flexible Improve code
  • 23. make it easier to comprehend make it flexible make it tested Improve code
  • 24. make it easier to comprehend make it flexible make it tested Improve code make it easier to replace, refactor
  • 25. make it easier to comprehend make it flexible make it tested Improve code make it easier to replace, refactor make it not exist
  • 26. Testing photo by: jeffkrause
  • 27. Good Design Concepts
  • 28. SOLID Single Responsibility Open and Close Liskov substitution Interface Segregation Dependency Inversion photo by j_regan
  • 29. photo by lofink STUPID Singleton Tight Coupling Untestability Premature Optimization Indescriptive Naming Duplication
  • 30. photo by halloweenstock Design Patterns
  • 31. Composer
  • 32. PIE Proudly Invented Elsewhere
  • 33. guzzle/guzzle HTTP client for RESTful API clients photo by j_regan
  • 34. morrisonlevi/ardent A library of collections for PHP
  • 35. Readability photo: Morgenland
  • 36. paragraphs photo: Trossachs Photography
  • 37. whitespace
  • 38. Cape Town São Paulo R&D Team for MIH/Naspers
  • 39. Object Calisthenics photo by: boston_public_library
  • 40. Calisthenics /ˌkaləsˈTHeniks/ Calisthenics are a form of dynamic exercise consisting of a variety of simple, often rhythmical, movements, generally using minimal equipment or apparatus. photo by: boston_public_library
  • 41. Its about perception, not rules or standards photo by: david_a_l
  • 42. #1 Only one indentation level per method. photo by: justinliew
  • 43. #2 Do not use else photo by: justinliew
  • 44. #3 Wrap primitive types, if they contain behavior photo by: justinliew
  • 45. #4 Only one -> per line photo by: justinliew
  • 46. #5 Do not abbreviate. photo by: justinliew
  • 47. #6 Keep your classes small. photo by: justinliew
  • 48. #7 Limit your instance variables to less then 5 photo by: justinliew
  • 49. #8 Use first class collections photo by: justinliew
  • 50. #9 Use getters and setters. photo by: justinliew
  • 51. #10 Document your code. photo by: justinliew
  • 52. Your turn.
  • 53. Improve yourself!
  • 54. Read lots of code!
  • 55. Write simple code.
  • 56. Try Object Calisthenics for a month.
  • 57. Use someone else’s code.
  • 58. Share bite size libraries.
  • 59. Thank you. @rdohms https://joind.in/12734 http://doh.ms http://slides.doh.ms please rate me!
  • 60. http://l.doh.ms/oc-links Video recording Slides Books Resources on Object Calisthenics