January 18, 2007

Tool vs. Brain

What that tool automates?
You have to do a lot of routine operations manually before even trying to use the tool, which is supposed to automate those operations. Only in this case you can understand what kind of your efforts is saved by tool, an in what way. Often the tool requires you to pay too much - or to do too many operations unnecessary for task solution.

Brain still required
Note that automatic tools do not reduce the need of the software engineer to use brain. Tools may verify the syntax, but they cannot write syntactically correct code that solves your task. Tools can find that some code has been changed, but they won't say what the change is for. Tools can notice that since version 1.23.4685 the function Baz returns not the same value as earlier, but they cannot know why. It is the human, not the tool, who makes a decision.

Make you code understandable
A person, which makes the decision about your code, should have enough information to be sure. Main source of information is the code itself. The same briefly: source code. Even with the best tools on the Earth, the maintainer still has to look into your sources. So make them easy to understand.

No comments: