Angel Espinoza

How I know it is right

Last time I described how this site broke in public, and how nothing looked wrong beforehand.

So the fair question is: if that is true, how do you trust any of it?

Here is what I actually do. None of it is "be careful". Being careful is what I was already doing when it broke.

Run it in the real thing

Every Civil 3D tool I build gets loaded into Civil 3D and run on a real drawing before I believe it. Not a clean test file I made for the purpose. A drawing with the ordinary mess a real project has in it.

A tool that works on tidy input has told you almost nothing.

Check it where it will actually run

The package that broke this site was perfect on my machine. What found the problem was asking the live site for one specific file and getting a not-found error back.

That is the whole lesson. If it matters, check it in the place it has to work, not in the place that is convenient.

Make the machine check what you will forget

This site now refuses to finish building if certain internal text shows up in the output. It also refuses to package a deployment if it contains writing I have not finished. Both of those stop the process cold.

I did not add them because I am careful. I added them because I am not, reliably, at five in the afternoon.

That is the difference between a rule and a habit. A habit is something you intend to do. A rule is something that happens whether you remember or not.

Make being wrong cheap

Anything I build that writes to a drawing does it in one transaction. One command in, one undo out, back where you started.

That is not about correctness exactly. It is about lowering the cost of being wrong, so that finding out is annoying instead of expensive.

The part that does not change

None of this is about trusting the tool. I do not, particularly.

It is about arranging the work so that being wrong is cheap and visible, and then checking anyway, because the drawing goes out under your name and not the software's.

Be Better - Check it where it runs.