4 ms·
If programming worked the way the education system worked, it would be more like this: As a customer, you pay a company to build software. Due to federal law t
by lemmsjid 15y ago
If programming worked the way the education system worked, it would be more like this: As a customer, you pay a company to build software. Due to federal law the programmers must fill out paperwork for (arbitrarily) each class they build in Java (the universally mandated language accepted as the best compromise by the government, after no small amount of backdoor lobbying by Oracle). The resulting code must pass mandated federal unit testing standards of "100% code coverage" due to the No Line of Code Left Behind Act. (Various measures of quality were discussed on the federal level, but things like overall code complexity, terseness, flexibility, etc. didn't resonate with the public as much as the slogan, "100% Coverage--you want it for your car insurance, why not your software?", which got several freshmen congressmen elected) In order to ensure compliance the programmers must run a special tool that verifies the coverage. Programmers who don't achieve 100% coverage have their pay docked and/or face dismissal. Shops that consistently fail to achieve 100% coverage face closure.
As a customer you're looking for a one-off administrative web application. In several years it's delivered (along with a warehouse of paperwork) in all of its 100% unit tested glory. As required by Federal Web Compliance 625, it uses EJB and JSP against an Oracle database. One of the tables has data duplication, requiring Federal Normalization Exemption 835.
It's so late because there was a brief controversy during development. One of the developers had increased his productivity by using a code generator to achieve 100% coverage. Suddenly he had a lot of time on his hands--he spent it refactoring the code, building prototypes, knocking out requirements, etc. Due to management oversight his transgression wasn't identified for several months, and the mysterious increase in productivity was hailed by local politicians as a shining example of how the system is working. Once identified, he was escorted out of the building, and a new developer had to rewrite his code from scratch. There was a brief splash in the local papers but that blew over, thank god...
During the meeting in which the resulting steaming pile of crap is delivered to you, the customer, one of the programmers breaks down crying. You can't put your arm around him and comfort him because it's against the law.
- Tloewald 15y agoIt's a nice story, but in reality (a) the code would never be delivered and (b) the criteria would be poorly designed so that something other than the desired result would pass the criteria, e.g. you're required to write unit tests and the program has to pass them but the unit tests don't actually need to exercise the features of the program in a meaningful way.