3 Classics for every developer!

320 views

Published on

Every developer should read these three software development classics. First up is Refactoring from Martin Fowler. Next up is Clean Code from Robert C. Martin, and the last classic is The Pragmatic Programmer by Andrew Thomas and David Hunt. These three books teach many good lessons the new and experienced developer need to learn.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
320
On SlideShare
0
From Embeds
0
Number of Embeds
60
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

3 Classics for every developer!

  1. 1. 3 Classics for every developer! Tom Henricksen IT Career Coach, Author, Speaker
  2. 2. Refactoring ● Refactoring: Improving the Design of Existing Code. ● Author: Martin Fowler ● Published: 1999
  3. 3. Refactoring “Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure”
  4. 4. Refactoring ● Code works, hard to read ● Maintenance issue! ● Human readable
  5. 5. Refactoring “Before you start refactoring, check that you have a solid suite of tests. These tests must be self-checking.”
  6. 6. Refactoring ● Improve design ● Find bugs ● Performance gains
  7. 7. Refactoring ● When ○ Add method ○ Fix bug ○ Code review ● Rule of 3
  8. 8. Refactoring ● When not ○ Mess ○ Deadline
  9. 9. Refactoring ● Bad Smells ○ Duplicated ○ Long method ○ Large class ○ Long parameter list
  10. 10. Refactoring ● Techniques ○ Extract Method/Class ○ Rename ○ Encapsulate Field ○ Magic number removal
  11. 11. Clean Code ● Clean Code: A Handbook of Agile Software Craftsmanship ● Author: Robert C. Martin ● Published: 2008
  12. 12. Clean Code “The answer confirmed my fears. They had rushed the product to market and had made a huge mess in the code. As they added more and more features, the code got worse and worse until they simply could not manage it any longer. It was the bad code that brought the company down.” Robert C. Martin
  13. 13. Clean Code ● Simple ● Elegant ● No duplications ● Minimal dependencies
  14. 14. Clean Code ● Readability ○ Basics ■ variable names ■ method names
  15. 15. Clean Code “Any fool can write code a computer can understand. Good programmers write code that humans can understand.” -Martin Fowler
  16. 16. Clean Code ● Important ○ Easy to read ○ Easy to understand ○ Easy to change ● Cheaper to Maintain
  17. 17. Clean Code ● Good naming ○ Poor: int d; ○ Better: int days; ○ Best: int daysToCompletion;
  18. 18. Clean Code ● Bad comments ○ Redundant getDaysToRenawal(); // gets days to renewal ● Funny //Ninja code following this!
  19. 19. Clean Code ● Good naming conventions ● Small methods ● Small classes
  20. 20. Clean Code ● Boy Scout rule ● Smart vs Professional
  21. 21. The Pragmatic Programmer ● The Pragmatic Programmer: From Journeyman to Master ● Author: Andrew Hunt, David Thomas ● Published: 1999
  22. 22. The Pragmatic Programmer ● Craftsman ● Think! ● Knowledge Portfolio
  23. 23. The Pragmatic Programmer ● DRY ● Master your tools ● Code generation
  24. 24. The Pragmatic Programmer ● Crash Early! ● “Shy” code ● Dig for requirements
  25. 25. The Pragmatic Programmer ● Design to Test ● Script it ● Communicate

×