Friday, March 24, 2017

Improve your code and design intuition

You should be able to develop your code and design sense to the point where you can look at anyone's code (including your own) and intuitively know if it's good or not. This is a critical skill to have if you are responsible for doing code and design reviews.

Here's some suggestions based on what i've done

1. Study design patterns and antipatterns
-Read some design patterns book. I liked Head First Design Patterns
-Read AntiPatterns
-Read Refactoring


2. Study good code, code smells, and refactoring
-Read Code Complete
-Read Clean Code
-Read Refactoring
-Read Programming Pearls

One of my favorite references for this is here: https://sourcemaking.com. I like to point to this in code reviews as a teaching tool. Like "use Extract Method for this part of the code. https://sourcemaking.com/refactoring/extract-method"

3. Lots and lots of practice

-Katas (links from Clean Coder book)
http://codekata.pragprog.com 
http://katas.softwarecraftsmanship.org
http://butunclebob.com/
http://thecleancoder.blogspot.com/2010/10/craftsman-62-dark-path.html

-TopCoder algorithm challenges

-Code Wars

4. Use different languages and write different types of programs. Don't get too comfortable!
-Use C# at work? Study Python for fun
-Only do application development? Head to Udacity or freecodecamp for webdev

An excellent way to do this is to use 57 Exercises https://pragprog.com/book/bhwb/exercises-for-programmers




There was an error in this gadget