location: Mountain View, CA music: MxPx - Sometimes You Have to Ask Yourself

Lots of people say that they have a high standard of software quality. What exactly they mean is only rarely defined, though.To me, and probably to most professional engineers, a "high standard of software quality" usually makes me think that the program has the following aspects about its code:* Easily readable.* Consistent.* Well-organized.And that's really it. If it has all those things, in my mind it's quality software. And if it doesn't, it isn't.I know, that sounds ridiculous, because obviously what should be more important is the interface or something, right?Well, let me tell you, given enough time, the interface of poor-quality software will degrade into un-usability, or the program itself will have so many bugs as to be unreliable. That's just the nature of unreadable, inconsistent, poorly-organized code. The effort to modify each little piece is like a linear function as time goes on, meaning that the amount of time required to add a new feature or fix a bug could be graphed as an exponential (or really, parabolic, I suppose) function, probably.I have spent too much of my life fixing the software of people who can't think of a future beyond the next few seconds. HELLO EVERYBODY. PROGRAMMING-TYPE-PEOPLE: Have you ever thought about the fact that "saving time" now with poor design is going to eventually cost you so much time that your program will become unmanageable and you'll want to start over from scratch? Or just give up?It's like the criminal mentality of "Oh, other people get caught, but I won't." It's like, "Oh, other people's software becomes unmaintainable, but mine won't."-Max