On Over-Engineering…

Some who follow me on Twitch (you may follow me at https://twitch.tv/andyleonard) – have seen me live-code the demo project for the second edition of Building Custom Tasks for SQL Server Integration Services (link to the first edition). The demo project is a custom task named Execute Catalog Package Task:

While writing about parsing the ReferenceId value from the string in the Reference property, I wrote the following about complaints that some code is “over-engineered”:

You may look at these lines of code that specifically isolate the last occurrences of parentheses as overkill, or as an instance of my favorite complaint, “over-engineering.” I urge you to ask, “Why?” instead of positing a complaint or sharing a non-flattering opinion about such code. Why ask why? Because there may be a good reason for authoring the code in this way. For example, the SSIS Catalog allows folders and environments (and other entities) to be named using parentheses, as shown in Figure 16-38:

Figure 16-38: A potential Reference property value of “()/() (ReferenceId value)”

As demonstrated in Figure 16-38, the SSIS Catalog permits parentheses in the names of several SSIS Catalog entities. The SSIS Catalog folder is named “(),” as are the SSIS project and SSIS package and one SSIS Catalog environment.

While I realize peeves make lousy pets, I confess that one of my pet peeves is to have others judge my code as “over-engineered.” My knee-jerk reaction is to ask if the complainant holds a degree in an engineering disciple. When I mentor junior engineers, I harp on them to make more accurate judgments and ask better questions such as, “I wonder why the code was written that way?”

I don’t know it all – even about disciplines with which I have decades of experience. Thinking and asking good questions is a good way to learn more – a much better way than making snap judgments (especially if those judgements are inaccurate…).

:{>

Need Help Getting Started with SSIS and ADF?

Enterprise Data & Analytics specializes in helping enterprises modernize their data engineering by lifting and shifting SSIS from on-premises to the cloud. Our experienced engineers grok enterprises of all sizes. We’ve done the hard work for large and challenging data engineering enterprises. We’ve earned our blood-, sweat-, and tear-stained t-shirts. Reach out. We can help.

Enterprise Data & Analytics

Andy Leonard

andyleonard.blog

Christian, husband, dad, grandpa, Data Philosopher, Data Engineer, Azure Data Factory, SSIS guy, and farmer. I was cloud before cloud was cool. :{>

Comments

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.