Slashdot Mirror


How To Deal With 200k Lines of Spaghetti Code

An anonymous reader writes "An article at Ars recaps a discussion from Stack Exchange about a software engineer who had the misfortune to inherit 200k lines of 'spaghetti code' cobbled together over the course of 10-20 years. A lengthy and detailed response walks through how best to proceed at development triage in the face of limited time and developer-power. From the article: 'Rigidity is (often) good. This is a controversial opinion, as rigidity is often seen as a force working against you. It's true for some phases of some projects. But once you see it as a structural support, a framework that takes away the guesswork, it greatly reduces the amount of wasted time and effort. Make it work for you, not against you. Rigidity = Process / Procedure. Software development needs good processes and procedures for exactly the same reasons that chemical plants or factories have manuals, procedures, drills, and emergency guidelines: preventing bad outcomes, increasing predictability, maximizing productivity... Rigidity comes in moderation, though!'"

1 of 236 comments (clear)

  1. Re:Farm out OP writing, too. by Anonymous Coward · · Score: 0, Redundant

    This. The worst impediment to productivity is not lack of "processes", but idiots who don't know how to do the job so instead try to tell other people how to do it.

    Good developers know how to untangle (or simply reimplement) bad code. And then they document their work going ahead. They with their team develop a method to suit the particular application.

    If someone says something like "agile" or "extreme" or "rigid" or "process" or "productivity" then you know that they're interested in everything but actually getting the job done. In the best case, they're just trying to make some money for themselves. In the worst case, they actually believe what they're saying. "Efficiency" drives in the public sector are even worse than in the private sector, FWIW - targets are always simplistic and their achievement does not necessarily mean that things are working any better than before.