Your SlideShare is downloading. ×
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
3 Classics for every developer!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

3 Classics for every developer!

102

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 …

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
102
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

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. 3 Classics for every developer! Tom Henricksen IT Career Coach, Author, Speaker
  • 2. Refactoring ● Refactoring: Improving the Design of Existing Code. ● Author: Martin Fowler ● Published: 1999
  • 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. Refactoring ● Code works, hard to read ● Maintenance issue! ● Human readable
  • 5. Refactoring “Before you start refactoring, check that you have a solid suite of tests. These tests must be self-checking.”
  • 6. Refactoring ● Improve design ● Find bugs ● Performance gains
  • 7. Refactoring ● When ○ Add method ○ Fix bug ○ Code review ● Rule of 3
  • 8. Refactoring ● When not ○ Mess ○ Deadline
  • 9. Refactoring ● Bad Smells ○ Duplicated ○ Long method ○ Large class ○ Long parameter list
  • 10. Refactoring ● Techniques ○ Extract Method/Class ○ Rename ○ Encapsulate Field ○ Magic number removal
  • 11. Clean Code ● Clean Code: A Handbook of Agile Software Craftsmanship ● Author: Robert C. Martin ● Published: 2008
  • 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. Clean Code ● Simple ● Elegant ● No duplications ● Minimal dependencies
  • 14. Clean Code ● Readability ○ Basics ■ variable names ■ method names
  • 15. Clean Code “Any fool can write code a computer can understand. Good programmers write code that humans can understand.” -Martin Fowler
  • 16. Clean Code ● Important ○ Easy to read ○ Easy to understand ○ Easy to change ● Cheaper to Maintain
  • 17. Clean Code ● Good naming ○ Poor: int d; ○ Better: int days; ○ Best: int daysToCompletion;
  • 18. Clean Code ● Bad comments ○ Redundant getDaysToRenawal(); // gets days to renewal ● Funny //Ninja code following this!
  • 19. Clean Code ● Good naming conventions ● Small methods ● Small classes
  • 20. Clean Code ● Boy Scout rule ● Smart vs Professional
  • 21. The Pragmatic Programmer ● The Pragmatic Programmer: From Journeyman to Master ● Author: Andrew Hunt, David Thomas ● Published: 1999
  • 22. The Pragmatic Programmer ● Craftsman ● Think! ● Knowledge Portfolio
  • 23. The Pragmatic Programmer ● DRY ● Master your tools ● Code generation
  • 24. The Pragmatic Programmer ● Crash Early! ● “Shy” code ● Dig for requirements
  • 25. The Pragmatic Programmer ● Design to Test ● Script it ● Communicate

×