Creativity vs Best Practices

As a software developer, finding the balance between creativity vs best practices is quite challenging. Definitely, it is something that we should practice writing every line of code without regarding the size or level of a project's complexity.

In my opinion, the complexity lies in our mind and the more creative you are, the more complicated your code become if you do not follow best practices. Being open-minded, practicing instant refactoring, as well as being creative, certainly will help you to find that balance and, furthermore, to increase a project's maintainability. Making it more efficient, cheaper and faster to add new features in the future.

Creativity is a great virtue and projects built following a non-standardized approach will challenge you to be twice more creative to maintain them. Creativity has no limits! I love that idea, however, maintainable projects require using a large number of rules and patterns. That is the point! Be hundred percent sure that you are writing a code implementing, at least, the SOLID design principles and, at the same time, being creative. SOLID principles are a collection of best practices to make software designs more understandable, flexible and maintainable. This topic is not part of the central idea of this article, there is a good reference on this article from Uncle Bob The Principles of OOD.

Software development is an eternal process of learning. Every project has particularities and plenty of distinct business rules. Since I started studying SOLID principles, DDD, TDD, and such, I am always trying to explore different ways of building projects and find out the best approach. Being creative is the best and funny part of the development process and that what makes me proud when the final product exceeds all expectations from the client in terms of user experience and usability. There is no doubt that we have to be creative in many aspects of our lives, mainly working on innovative software development projects. Just keep in mind that software maintenance represents a large and growing expense for organizations.

I have been reading an excellent book which has a sort of code examples in C# for managing complex software construction. I really recommend you to read this book:
Patterns, Principles and Practices of Domain-Driven Design

I hope this post has been a helpful discussion of what you could consider for the next code you will start writing.

Happy coding!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

This blog is kept spam free by WP-SpamFree.