Over a million developers have joined DZone.
Platinum Partner

To Script or Not to Script, That is the Question

· Java Zone

The Java Zone is brought to you in partnership with JetBrains.  Learn more about Kotlin, a new programming language designed by JetBrains to solve problems that software developers face every day.

Every single day we are required to do some repetitive tasks, like clean up old data files or run some commands on some servers, and collect X.

Now you can go about this in two ways, do it manually or write a script that does it for you. The generally accepted rule of thumb is to write a script for things that you will do more than twice. Is that really true? If I am going to collect metrics a few times; is the time that i invest into writing a script really worth my time?

Some would say yes, but in my experience I always find myself seconding guessing myself and I often spend time really thinking about if writing the script will save me time in the long run. So you can clearly see where time is being spent.

As you can see this has become and an issue, I am not even including the soul crushing regret that when you realize you should have written the script (grrrrr). Now what is the solution to all your problems? What is the one question that you can ask in order to determine if you should write a script or not. Unfortunately like all things in life it depends.  Here are some questions to ask to determine if you should. 

  1. Can you get a significant amount of work done while the script is running?
  2. How long will the script take to write?
  3. How many times will you be doing said task?
  4. Will you learn something new?

This is just what I found useful. I would love to hear your thoughts on this.

The Java Zone is brought to you in partnership with JetBrains.  Discover how powerful static code analysis and ergonomic design make development not only productive but also an enjoyable experience.

Topics:

Published at DZone with permission of Mahdi Yusuf , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}