December 07, 2004
More Software Engineering Terms
by peterbFrom time to time, I share certain terms that I find useful in my space-age-au-go-go career as a software developer. This is one of those times.
Idimpotent - An operation is "idempotent" if it can be safely attempted multiple times. An operation is "idimpotent" if it should be idempotent, but instead it brings your system to a crashing halt if you try it twice. (Variation: idemimpotent).
Implementation detail - This term is usually used to describe the requirements of any given project.
Trivial - Any piece of software ("We need a library with a simple API that solves the halting problem") that must be implemented by some other team.
System tests - A term used to describe the delivery of product to users.
Frozen - As the ship date of a product approaches, it enters the "feature freeze" period. This means that new features are added to the product only if they are really, really cool.
Reproducible - If a bug does not occur every time the unit tests are run, it is not reproducible, and may be closed.
Unit tests - Pieces of software that thoroughly exercise, at a bare minimum, at least 5% of a given software component.
Regression tests - Comprehensive tests that you expect other people to run when they make changes to the codebase.
Sophisticated - Hard to use.
Simple - Doesn't do anything useful.
Efficient - Does not do anything useful, but it not does it very quickly.
Debugger - A crutch for the weak programmer who is not sufficiently 3l33t.
Comments - See "Debugger"
Other useful software engineering terms can be found here. Thanks to Stewart Clamen, Benoît Hudson, and psu for helpful suggestions and editing.
Posted by peterb at December 7, 2004 06:47 PM | Bookmark ThisPlease help support Tea Leaves by visiting our sponsors.