|
|
|
|
|
by rev_bird
3952 days ago
|
|
I was with you initially, but this seems hostile in a way that's honestly kind of confusing. The argument, as I understand it, isn't something like "websites are too complex now," it's that "web-app programming is becoming more complex without corresponding returns on functionality or UX." Your example, though it's buried under a bunch of stuff calling people dumbasses, makes an interesting point: You're right, there isn't anything simple about 100,000 lines of code in ANY language, even if it's 100,000 necessary lines. What were they trying to do that was so easy to replace? What kind of JS was knocking around in 2005 -- is it all display stuff and wonky jQuery? |
|
Here are some ( sanitized ) examples from my current project that exemplify the danger of allowing this line of thinking among your contractors:
1. Completely unmanaged client dependencies on a per page basis ( negligible code, infinite heartache )
2. Template files that do not reuse code due to laziness or differences in markup style ( 20k+ extra lines of code )
3. CSS files crafted on a per page basis, again little code reuse due to developer style and competence ( 20k+ extra lines of code, huge download size, difficult cacheing requirements )
4. Confusing and undocumented deployment procedures ( I had to completely rebuild the infrastructure from the ground up )
5. Each and every page had a its own js file, with its own global exports, dependencies, and code style. Most were over 1000 lines of untested jQuery Stackoverflow answers. 65 unique pages, sharing almost no code.
6 My favorite, a grunt task that searched the code for 'some_var + other_var' and replaced it with a string literal "https://my-dynamically-generated-cdn-fingerprint.cdn.com/res...
7. Superflous build tasks and bugs due to inconsistent project structure. Some people like /dist others /builds etc.
The list goes on, I'm finding more stuff every day.
This is a well funded project, 1 year into development.
Just implementing react, gulp, and sass allowed me to remove 60k lines of code over 2 months. The app still works in a request / response method, haven't gotten to that yet. The backend is still a tangle of coffeescript.
This is the risk you run by not imposing structure on your developers via solid frameworks and tools. If you can't pick the best tool for the job, hire someone who can. Otherwise you'll end up hiring him anyways to fix your broken 20 million dollar "unicorn".