Last week I gave a talk at the Orlando .NET User Group on Practical Software Craftsmanship - 12 Practices to be a Better Developer. Most of these 12 are just things I have learned over my years of development. I promised I would put links to the slides and resources from my talk. They are in no particular order and I don't claim they are nothing more than fortune cookie wisdom :D. I will try and write more about these in the future.
The 12 Practices
- Source Control - If you don’t store your code in source control, you’re putting your company at risk.
- Test-Driven Development produces higher-quality code. Behavior Driven Design - Behavior is documentation for other developers and users.
- Build Systems - Building is more than just compiling code.
- Continuous Integration - Check in early and often.
- Real Time Code Review - Two heads are better than one.
- Refactoring: Easy as red light green light.
- Read Code - "You don’t become a better writer by just writing." Scott Hanselman
- Code In Increments - Real programmers work for hours and hours straight, without a break, without even looking up. Don’t break your ﬂow to stop and compile: just keep typing! :)
- Sharpen your skills by learning a new language.
- Learn SOLID
- Single Responsibility Principle - There should never be more than one reason for a class to change.
- Open Closed Principle - A class should be open for extension but closed for modification.
- Liscov Substitution Principle - Subtypes must be substitutable for their base types.
- Interface Segregation Principle - Clients should not be forced to depend upon interfaces that they do not use.
- Dependency Inversion Principle - High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.
- Know when to unlearn. The ways you learned when you ﬁrst started are clearly the best ways. Not much has changed since then, really. :)
- Be a Mentor
These are great places to pick up some of the key concepts:Scott Hanselman - Reading To Be A Better Developer
S.O.L.I.D. Month on LosTechies
31 Days of Refactoring
MSpec BDD Tool
MSpec is your BFF