3 ms·
When you're working on a really, really good team with great programmers, everybody else's code, frankly, is bug-infested garbage There are two classes of code
by jasonkester 16y ago
When you're working on a really, really good team with great programmers, everybody else's code, frankly, is bug-infested garbage
There are two classes of code that this seems to apply to 95% of the time: Other People's Javascript, and Web Templating Systems.
Bad Javascript is understandable, since any Joe with a copy of notepad and "Teach Yourself Web Programming in 21 days" can (and will at some point) write a crappy DHTML menu system and throw it out on the web. Junior Dev Jimmy will find it and drop it into your project without asking anybody, and suddenly it's your job to deal with it (or rewrite it, which is generally the only thing to be done. Extra credit if you open source it and inflict it on the next generation.)
Fortunately, the jQuery guys have managed to defy this rule, and it's doing a good job of fixing the issue. Still, "No 3rd Party Javascript" is a good mantra if you're running a dev shop worth its salt.
Web Frameworks are the fun one. Usually they're the embodiment of the Second System Effect, where a bunch of devs who've done exactly one project in one framework sit down and figure out what their Dream System would look like, and end up reinventing either Classic ASP or Cold Fusion, but in a comically terrible way. Often they'll even get traction with it.
See FuseBox for the canonical example of taking the joke too far. Yikes!
- arnorhs 16y agoI agree whole heartedly on the javascript plugin side. On most of my projects in the last years, javascript seems to be the thing that gets bloated the fastest. When you need something you can always find a 3rd party jquery plugin that does what you need and it's great. Then you need something else, and something else and before you know it you've included 5-6 different jquery plugins, with their corresponding css files and other dependencies. And you tie the whole thing together with your own set of jquery code and you've got a big mess. I still haven't found the solution to this, since most of the jquery plugins I use are of greater quality than I can produce (most of the time) or take at least much more time than I personally have.
- statictype 16y agowhere a bunch of devs who've done exactly one project in one framework sit down and figure out what their Dream System would look like, and end up reinventing either Classic ASP or Cold Fusion, but in a comically terrible way. We have our own webframework that grew over time and I don't feel bad about it. It's custom-built for our apps and so, it does exactly what we need and abstracts away the exact feature set we need. It's not more powerful than any existing framework and is certainly not for everyone but it suites our needs perfectly. I don't see writing custom frameworks or templating systems as any different from writing a DSL.
- jasonkester 16y agoWe have our own webframework that grew over time and I don't feel bad about it. Nor should you. You invested some time and put together something that exactly fits your needs. Chances are you're moving faster on it than some random new team using Rails, because you're so familiar with it and starting a new project involves simply copying large chunks out of a half dozen previous jobs and taping them together. The key is that you didn't try to build your thing out into a platform and release it as open source.