Software decay is the slow deterioration of code, causing it to become unusable or require an upgrade.
It is present in all forms of computing, including LabVIEW programming. Some causes include:
In 1984, Bill Gates said: “The worst programs are the ones where the programmers doing the original work don’t lay a solid foundation, and then they’re not involved in the program in the future. Working with those programs gets to the point that I call ‘experimental programming’. The programmers understand so little about those programs that they can’t understand how changes might affect speed, for instance. They might use code that already exists, or they might not understand what dependencies will break if they change something. So they add new code, and then they run it and they say, ‘Oh look, it doesn’t work that way.’ That’s a very, very inefficient way to deal with a program, but a lot of projects end up exactly like that.”
Spot on, Bill!
First and foremost, the initial program must become well-structured, efficient and tidy. In some cases, fixing software decay may mean a complete re-write (which can be a good excuse for some nice new features!). Certain software structures lend themselves to ease of modification, something that we at LiveWires are used to constructing. Even when a program is well-written, some minor restructuring may be necessary, and occasional tidying/housekeeping should be done to prevent the onset of software decay.