Thanks everyone for attending. I enjoyed last night… Special Thanks to Giordano Scalzo's whose slide I used as a base for my talk, and with who I had interesting conversations about ideas and slides…
Make sure to check the list of "good code attributes" at the end of the post. That's the list that we came up with, during the user group…
Content
- What
- Why Code matters!
- What is Bad?
- What is Good?
- Why
- The Broken Window Theory
- The Grand Redesign in the Sky
- The Sushi Chef Rule (would be nice - NA)
- The Hotel Room Rule (would be nice - NA)
- The Boy Scout Rule
- How
- OOP Patterns and Principles
- SOLID Principles
- How to measure clean code?
Tools
PS
If you are able to apply the "Hotel Room Rule" in your projects let me know!
Figure: Hotel Room Rule: "Let someone else clean up your code every day"
References
Books
- Clean Code
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 - Working effectively with Legacy Code
http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052/ref=sr_1_1?ie=UTF8&s=books&qid=1290027595&sr=1-1
- The Art of unit testing
http://artofunittesting.com/ - Code Complete 2
http://cc2e.com/
Links
http://www.clean-code-developer.de/
Translated with Google Translate
http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=de&tl=en&u=http://www.clean-code-developer.de/
VS2010 Code Metrics
http://bit.ly/bda4T1
JB Rainsberger The Four Elements of Simple Design
http://www.jbrains.ca/permalink/the-four-elements-of-simple-design
How to hire a programmer? Have people fix up some smelly code
http://codebetter.com/blogs/karlseguin/archive/2006/12/01/How-to-hire-a-programmer-_2D00_-Part-2-_2D00_-Improve-this-code.aspx
Object Oriented Principles
http://www.objectmentor.com/omSolutions/oops_what.html
The refactoring catalogue
http://www.refactoring.com/
Let someone else try to refactor your code
http://refactormycode.com/
Giordano Scalzo's blog + presentations
http://giordano.scalzo.biz/
http://www.slideshare.net/giordano/presentations
Tools
VS2010
http://msdn.microsoft.com/en-us/vstudio/
Nitriq & Atomiq
http://nimblepros.com/products.aspx
SourceMonitor
http://www.campwoodsw.com/sourcemonitor.html
Ndepend
http://www.ndepend.com/
What is clean code?
Our list (Sydney .NET user group - 2010-11-17)
- User friendly
- Enjoyable
- Testable
- Verifiable
- Does what the client wants, not what i tell it <-- WOW!
- Self documented (easy to understand)
- Consistent - standards, naming
- Maintainable
- Fail safe - robust
- Re usable
- Auto recovery
- Portable - device Language independent
- Customizable
- Flexible
- Self optimizing
- Performant
- Scalable
- Cost (
Cheap) - Secure
- Responsive
- ….
- Meet requirements and client needs
- Easy to deploy and run
2 comments:
Hi Peter, Nice talk yesterday. Wish there was more time for tools. I posted a summary of meet at http://devnetfx.blogspot.com/2010/11/ssw-sydney-net-user-group-meet.html
Hi NetDev
Glad that you enjoyed it.
Its a pity that I couldn't show more the show more tools. Because they really rock!
Maybe I do another one where I focus on just the tools.
CU @ next UG
Post a Comment