Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
October 22, 2021 08:22 am GMT

I enjoy life-long learning, but...

... there are some aspects of working as a web developer that do not spark joy in my heart. After collecting some notes over time, I have pasted them into this dev rant.

I enjoy life-long learning, but ...

I enjoy life long learning, especially of front end technology like HTML, CSS, UX, UI, also back-end stuff like SQL, Doctrine, and Symfony. So many things have improved (even JavaScript and PHP), but then there is stuff that I could do without, like spending days configuring Webpack and its plugins only because somebody else decided that every project needs to use Webpack (replace Webpack with any other tool or task you could have done without or delegate it to somebody else).

Stuff that I could do without

This rant is basically a collection of some stuff that I had written down to get it out of my mind. Finally decided to publish and share, so maybe it's fun to read, and maybe it is good for you to know that you are not the only one getting annoyed and confused by misleading error messages and the like. So here we go:

Breaking Changes

Adapting boilerplate configuration code for Webpack, React, or any other tool, to reflect the latest breaking changes.
Tasks like this may mean front-end web development to some people. But to me, it means nothing but wasting my time with menial tasks that could have been avoided if developers would actually care not to break things.

If it aint't broke, don't fix it

Apart from regular upgrades to node packages, which break other packages' peer dependencies so that those other packages need another upgrade, which breaks another package ... apart from that, we can check for security vulnerabilities automatically using npm audit, which is, in theory, a good idea, despite occasional irrelevant alerts and false positives. But either there is "no fix available" or if there is, chances are, that npm audit fix will upgrade (or even downgrade) a dependency that breaks something else.

Broken Dependencies

Don't even bother checking the error logs and vulnerability details to try and fix the problems yourself. You will find out that half of your software has already been deprecated in favor of another totally different technology, which is either unavailable due to a peer dependency of an indispensable module, or else it will be completely incompatible, poorly documented and still in beta.

Hidden Assumptions

Beta or not, even common tools that are supposed to stable, maintained, and popular, sometimes lack the ability and documentation to make them "just work" on your own machine.

Any tutorial seems to make at least one assumption that does not match my current situation when trying to use any popular tool exactly like advised in their official documentation.

"I tell you, it's easy!"

Annoyed also by tutorials trying to tell me that something is easy, all I need to know, or supposed to make me have fun. I am just trying to do my work, okay?

Silly Idiosyncrasies

Annoyed to see meme gif images of some seemingly popular Hollywood actor, when all I wanted was a solution to a technical problem. Having to read npm idiosyncrasies like "sill" or silly slack phrases like "Sweet potato! Here's a tractor" or "more holy moly!"

Slack screenshot with text "More holy moly! Your friends at slack"

Stack Trace Novels

Error messages containing several pages of verbose stack trace details that still omit the actual file name or line number that would help you to trace the error back to your source code.

Search Overflow

Googling the error message, finding either unrelated or unanswered questions on StackOverflow, and if someone did have the exact same error message, surely their question had been erroneously marked as a duplicate or "downvoted" and closed for any other obscure reason.

In other cases: not a single matching entry, and Google stating the obvious: that there are not many great search results. You don't say!

Alternatively getting a lot of search results, but mostly unrelated, annotated by small blue link with a strike through one of my search terms, stating "missing / must include". These link never provided any single more relevant result when clicked.

Screenshot showing a failed google search like described in the text above.

Linting the Wrong Code

All of this only to find out later, after hours of frustrating research, that the actual error was a typo in a completely unrelated file never mentioned by any error message or linter warning.

Not Allowed to Fix StackOverflow

Try to fix the same typo in the StackOverflow example where it came from, but on submitting an edit, getting the error message from StackOverflow:

"Edits must be at least 6 characters; is there something else to improve in this post?"

AirBnB's Coding Style

Meanwhile, linters keep nagging about missing or superfluous braces, spaces or indentation, again instead of providing any insight about the actual problems of my code. Even more so, if a senior team member or a company coding style guide insisted on using AirBnB's style guide. Their website looks neat, and so did most of the places I ever booked over their platform, but their JavaScript style guide still sucks.

Most code examples found in official documentation seem to use double quotes for strings. AirBnB doesn't. So after pasting documentation examples into your own code, you have to "fix" the "errors", sorry: 'fix' the 'errors' until you see no more Strings must use single-quote. But we're not done yet:

Dangling Characters

Adding dangling commas at the end of any line that would not regularly end with a semicolon! But I did not find it helpful to achieve the intended benefit of getting less verbose git diff to review, because adherence to indentation rules makes everyone reformat twenty lines of code around even a single character fix on one line anyway.

Having to add trailing commas mostly everywhere just moves inconsistency to package.json and any other json file where there are still some parts of the code that will make your code invalid. Now why won't the ubiquitous Babel handle that as well?

Expected Mess

It still happens, that you copy a well-formatted code snippet and paste it into your editor / IDE where the original format gets messed up to unreadability, does not get fixed, but instead linted and underlined with helpful annotations like "Expected indentation of 8 spaces but found 4".

Recommended Mess

All of this mess gets more likely, the more recommended tools you try to stick together, especially if any part of the setup or boilerplate code has not been updated during the past eleven months.

Case Closed

Seen the same pattern in GitHub issue, but also in Google's Help Center: there is one single, unhelpful, answer for a problem that keeps occurring and which is hard to google, and the thread is already closed? "This question is locked and replying has been disabled." Also known as "Can't Reproduce, case closed."


Original Link: https://dev.to/ingosteinke/i-enjoy-life-long-learning-but--5efh

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To