Most technology teams use a classic SQL Coding Standards document which acts as a holy book for every developer within the team. When joining a new team, most times the developers are given a web link that points to a “SQL coding standards document”. Whenever I have received such a web link it always made me a feel that I am taking the following oath
I Mr.SoftwareCookie, will always obey the clauses in this document in all situations, any deviations needed will require consent from my team lead”.
Those were the times when things were manual, we relied on human’s ability to remember all the best practices mentioned in the document while developing or reviewing the code.
World’s moving forward and automation is all over, so why leave enforcement of T-SQL development standards a manual, error prone and a non-measurable process. There are few tools available that can help automate this entire manual process and put an end to the document driven approach thereby saving time & effort spent in code reviews, help increase efficiency and more importantly enforce T-SQL Best practices within the team.
I happened to work extensively on such T-SQL Static analysis tool recently therefore thought of comparing the tools used by me or known to me and are available in the market.
The table shown below attempts to compare different products for a common goal defined as
Goal : Automate Enforcement of SQL Development Standards within the team
The gap analysis shown above is only an indicator and is not intended to glorify any of the products, instead would urge to use this as an indicator to choose the appropriate tool or research the market for anything new that’s come up in the recent times.
All the tools mentioned above help us to either do a t-sql static analysis or t-sql re-factoring. Some of them are very good at re-factoring and some not so good, some are superb at analysis and some are evolving and are promising, I would leave it to you to choose the one that best fits your purpose, environment and budget
Hope the above posts helps you in waving Bye bye to T-SQL Coding Standards document .
My next blog post would be on how to leverage the output produced by these tools such that its not only useful for developers but makes sense for the project managers/team leads/project leads/Scrum masters too.
DISCLAIMER : The views, opinions and information compiled in this blog are completely mine and has nothing to do with any of my previous, current or future employers