Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "code monster"
-
*wrestling commentator voice*
"In this weeks episode of encoding hell:
The iiiinnnfamous UTF-8 Byte Order Mark veeeersus PHP!"
For an online shop we developed, there is currently a CSV upload feature in review by our client. Before we developed this feature, we created together with the client a very precise specification, including the file format and encoding (UTF-8).
After the first test day, the client informed us, that there were invalid characters after processing the uploaded file.
We checked the code and compared the customer's file with our template.
The file was encoded in ISO-8859-1 and NOT as specified UTF-8.
But what ever, we had to add an encoding check, thus allowing both encodings from now on.
Well well well welly welly fucking well...
Test day 2: We receive an email from said client, that the CSV is not working, again.
This time: UTF-8 encoding, but some fields had more colums with different values than specified.
Fucking hell.
We tell the customer that.
(I was about to write a nice death threat novel to them, but my boss held me back)
Testing day 3, today:
"The uploading feature is not working with our file, please fix it."
I tried to debug it, but only got misleading errors. After about 30 minutes, at 20 stacks of hatered, I finally had an idea to check the file in a hex editor:
God fucking what!?!!?!11?!1!!!?2!!
The encoding was valid UTF-8, all columns and fields were correct, but this time the file contained somthing different.
Something the world does not need.
Something nearly as wasteful as driving a monster truck in first gear from NYC to LA.
It was the UTF-8 Byte Order Mark.
3 bytes of pure hell.
Fucking 0xEFBBBF.
The archenemy of PHP and sane people.
If the devil had sex with the ethernet port of a rusty Mac OS X Server, then 9 microseconds later a UTF-8 BOM would have been born.
OK, maybe if PHP would actually cope with these bytes of death without crashing, that would be great.3 -
In the begining of time, when The Company was small and The Data could fit in some fucking excel sheets, Those Who Came Before implemented some java tool to issue invoices, notify customers and clear received payments.
Then came the Time Of The Great Expanse, when The Company grew to unthinkable levels. Headcount increased with each passing day, and The Data shows that everything was going great!
But when the future seemed bright, came The Stall-Out. The days when The Company could not expand as fast as it did before. And Those Who Came Before left, abandoning their Undocumented Java Tool to its own luck.
Those who came after knew nothing of the inner workings of the Undocumented Java Tool. They knew only that the magical Jar would take a couple fucking excel spreadsheets and spit out reports and send emails like magic.
And those were The Dark Days.
In the darkness, The Data grew to be a monster. Soon a fucking excel spreadsheet could not hold The Data contained any longer. Those Who Came After, fearing the wrath of The Undocumented Java Tool, dared not mess with its code. Instead, they fucking cut away the lowest volume transactions from the fucking input spreadsheet, and left the company to report the unbilled invoices as "surprise losses". Fucking script kiddies, were Those Who Came After.
Then, at The Darkest of Days (literally, Dec 21st), marched into the project The Six Witchers, who fear not the Demon of Refactoring.
This story is still unfolding. Will The Six Witchers manage to unravel the mysteries of The Undocumented Java Tool? Will they be able to reverse engineer the fucking black box, and scale it's magic into a modern application?
Will they decrease revenue forecasting error by at least 2% in a single strike?
Only the future will tell.16 -
When managers look at my code, it’s shit, it’s over complicated, it’s overly difficult to read, it took too long, it’s too much for a simple ticket, i handled too many edge cases, we’ll never need most of it, why did I bother making it extensible when it’ll never need to change, how dare I use “unless”, why did I bother writing all these comments, why did I update the documentation that nobody reads because it’s outdated, etc. They say I should be more like the legendary devs and push janky code quickly, and complain that I don’t have any flops (problems in prod) like those are a good thing.
When my coworkers look at my code, they say it’s clean, amazingly easy to read, a monster feature that’s somehow still a joy to review and work on, it makes their lives easier, that it does exactly what it should in all cases, that they learned something from reading it, and thank me for the comments and documentation. And marvel that I finished it so well in so little time.
Am I bragging? Not intentionally; I’ve heard these things repeatedly since I started here, and the contrast between the above is so stark.
In reality, the managers are just idiots who were promoted far above their competence, and make everything worse. (Gee, who woulda thought?) It’s just so frustrating.19 -
When you have literally no idea how to make your homework project so you try to Google/StackOverflow it piece by piece to make a Frankenstein's monster code.
And then you still have no idea how to cobble it all together in a way that makes sense.4 -
Okay so this is just a rant about my personal life because if I post it any where else no one will really care.
So I graduated from a vocational high school where I learned about basic IT and networking skills but I mostly focused on my programming. and I LOVED that school honestly the environment was so amazing and everyone and everything about it was amazing. then I started college recently hoping for the same thing and its just depressing me, and my depression is coming back and I cant stop it because I cant distract myself from it. My friends are always off playing Monster Hunter Ultimate and Im just wishing theyd hop back on Warframe so we can play again.. They say they will but they really wont so im usually just playing alone or going online which is sometimes fun if you have people that talk back.
so i took myself to the official warframe discord to find people that would help but everytime I ask I just get ignored. So Im stuck playing alone.
while thats happening Im not really getting any messages from anyone besides my girlfriend which is nice but she isnt able to really keep up a conversation and shes often busy with school as well. when I try to talk to any of my friends they arent really interested to talk or just send short replies that obviously tell me to go away. one friend in particular she and I used to talk everyday not even in a romantic way just straight up besties for life, but after one of my relationships ended she basically took her side and never talks to me now. Ive just been really lonely and wanting to just have my friends talk to me again or just have some programming friends I can chill in a discord server while we code but I cant bring myself to ask anyone on the specific server im in for programming..
Honestly idk if anyone on devrant really looks at my posts and thinks "oh look Bubbles posted again". I feel like im not good enough to be here because Im not nearly as good as all of you, Im mostly just here asking questions or posting extremely fucking long posts no one wants to read. and yet this is still where most of my interactions are and I love that this devRant community makes me laugh or feel better about myself sometimes. and I thank all of you for that and I remember your @ 's all the time.
honestly the only real highlight of my week was when my teacher of my vocational class asked me to come back as an unpaid intern to help teach his new programming class and It made me happy but other than that I havent been too happy.
if anyone actually got through this holy shit youre awesome and thank you a lot its appreciated.21 -
Idea was to make a little helper utility to be used once (only for myself, not client). But, I've kept adding layers of functionality over layers of functionality ... Long story short - this monstrosity (UI is bad, code not that much) was used for 10+ years (again, only by myself).
Finally, personal embarrassment was too big, so I took wooden stake and monster passed away. All related files deleted (but not before one final screenshot).6 -
oh, it got better!
One year ago I got fed up with my daily chores at work and decided to build a robot that does them, and does them better and with higher accuracy than I could ever do (or either of my teammates). So I did it. And since it was my personal initiative, I wasn't given any spare time to work on it. So that leaves gaps between my BAU tasks and personal time after working hours.
Regardless, I spent countless hours building the thing. It's not very large, ~50k LoC, but for a single person with very little time, it's quite a project to make.
The result is a pure-Java slack-bot and a REST API that's utilized by the bot. The bot knows how to parse natural language, how to reply responses in human-friendly format and how to shout out errors in human-friendly manner. Also supports conversation contexts (e.g. asks for additional details if needed before starting some task), and some other bells and whistles. It's a pretty cool automaton with a human-friendly human-like UI.
A year goes by. Management decides that another team should take this project over. Well okay, they are the client, the code is technically theirs.
The team asks me to do the knowledge transfer. Sounds reasonable. Okay.. I'll do it. It's my baby, you are taking it over - sure, I'll teach you how to have fun with it.
Then they announce they will want to port this codebase to use an excessive, completely rudimentary framework (in this project) and hog of resources - Spring. I was startled... They have a perfectly running lightweight pure-java solution, suitable for lambdas (starts up in 0.3sec), having complete control over all the parts of the machinery. And they want to turn it into a clunky, slow monster, riddled with Reflection, limited by the framework, allowing (and often encouraging) bad coding practices.
When I asked "what problem does this codebase have that Spring is going to solve" they replied me with "none, it's just that we're more used to maintaining Spring projects"
sure... why not... My baby is too pretty and too powerful for you - make it disgusting first thing in the morning! You own it anyway..
Then I am asked to consult them on how is it best to make the port. How to destroy my perfectly isolated handlers and merge them into monstrous @Controller classes with shared contexts and stuff. So you not only want to kill my baby - you want me to advise you on how to do it best.
sure... why not...
I did what I was asked until they ran into classloader conflicts (Spring context has its own classloaders). A few months later the port is not yet complete - the Spring version does not boot up. And they accidentally mention that a demo is coming. They'll be demoing that degenerate abomination to the VP.
The port was far from ready, so they were going to use my original version. And once again they asked me "what do you think we should show in the demo?"
You took my baby. You want to mutilate it. You want me to advise on how to do that best. And now you want me to advise on "which angle would it be best to look at it".
I wasn't invited to the demo, but my colleagues were. After the demo they told me mgmt asked those devs "why are you porting it to Spring?" and they answered with "because Spring will open us lots of possibilities for maintenance and extension of this project"
That hurts.
I can take a lot. But man, that hurts.
I wonder what else have they planned for me...rant slack idiocy project takeover automation hurts bot frameworks poor decision spring mutilation java11 -
Read the following in Morgan Freeman’s voice.
Okay everyone sit on down and get ready for story time. There once was a workspace that was a pain in the ass to setup. It often would take an entire day even for the most experienced devs on the team...for it was a workspace perched atop a swamp of shit that would require a whole year to refactor into something that isn’t shit.
It was inherited, passed down, stepped in and scrapped from the boot soles of every programmer that ever touched it. It was an amalgam of old, new, and third party components with a class path a mile long and no package management because the company although physically in the present, somehow maintained a temporal presence in the past. And there was nothing that the team hated more than setting that workspace. In short it was an unholy mess that made Satan cry and Dennis Ritchie spin in his grave so much that the state of California attached magnets and a coil to his body and casket to generate electricity.
Then one day the untalented clowns known as App Group decided that our IDE should be owned and configured strictly through them. They took poor Eclipse and mounted so much silly shit to it that it resembled a riding lawn mower with a fax machine and a blender duct taped to it. Eventually as everything the company touched did, it simply turned into a broken, shitty mess that not even Jesus Titty Fucking Christ could bring back the dead.
And then, every month or so the IDE would break in such a grand way that every developer had to rebuild their workspace...the very same Lovecraftian monster disguised as a code base. It was just too much to bear for old Deus. He was all out of fucks and there wasn’t enough alcohol in the world to quiet his injured soul. So he stood on a chair, carved his name in a rafter and tied a noose to it, put it around his neck and finally kicked the chair out from under himself. I am told he even pooped his pants and the post mortem shit in the seat of his pants was still better than the codebase at work. I’m Morgan Freeman. -
New job surprise: I will inherit a 900k lines of php code from a contractor dev shop. It is the company erp web app.
It has no version control, tests, architecture or configuration management of any kind.
There are just 1800 bug ridden files with almost no comments in a directory with lots of code duplication.
Also just learned that the contractor was paid a lot monthly for over 2 years for this monster.
I will need a raise quickly. At least management understands that I will need a couple of months to get a semblance of order in this madness.
And to you contractor I have your address and i'll try to restraint myself from vandalizing your house but I can't make any promises.
And fellow developers send help or beers or come and join me to teach this bastard a lesson.5 -
My first contact with an actual computer was the Sinclair ZX80, a monster with 512 bytes of ram (as in 1/2 kbyte)
It had no storage so you had to enter every program every time and it was programmed in basic using key combinations, you could not just write the commands since it did not have memory enough to keep the full text in memory.
So you pressed the cmd key along with one of the letter keys and possibly shift to enter a command, like cmd+p for print and it stored s byte code.8 -
Dear previous dev on this project,
I know that everyone loved you and still admires you for being so nice and having such a great knowledge. Please teach me your ways of achieving this level of popularity while writing big bowls of fucking flying spaghetti monster code with a bunch of hidden bugs and thousands of lines of unit tests that clearly never been used since it is literally impossible to run them thanks to missing mocks and overall bad design.
Teach me so I can become this person who shits big reeking piles in the office in front of everyone and even after leaving people still praise them for being exceptionally clean and sophisticated.3 -
Ok, here goes...
I was once asked to evaluate upgrade options for an online shop platform.
The thing was built on Zend 1, but that's not the problem.
The geniuses that worked on it before didn't have any clue about best practices, framework convention, modular thinking, testing, security issues...nothing!
There were some instances when querying was done using a rudimentary excuse for a model layer. Other times, they would just use raw queries and just ignore the previous method. Sometimes the database calls were made in strange function calls inside randomly loaded PHP files from different folders from all over the place. Sometimes they used JOINs to get the data from multiple tables, sometimes they would do a bunch of single table queries and just loop every data set to format it using multiple for loops.
And, best of all, there were some parts of the app that would just ignore any ideea of frameworks, conventions and all that and would be just a huge PHP file full of spagetti code just spalshed around, sometimes with no apparent logic to it. Queries, processing, HTML...everything crammed in one file...
The most amazing thing was that this code base somehow managed to function in production for more than 5 years and people actualy used it...
Imagine the reaction I got from the client the moment I said we should burn it to the ground and rebuild the whole thing from scratch...
Good thing my boss trusted me and backed me up (he is a great guy by the way) and we never had to go along with that Frankenstein monster... -
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4 -
My company is (supposedly) all about collaborative work, pair programming, getting on calls and cRaCKinG tHinGs ToGEtheR. Also (and rightfully so) we’re not supposed to approve any PRs if tests weren’t created/updated.
Of course that applies to all but the old timers in the company who simply act like lone cowboys. They fall off the face of the earth for two-three days then reappear with monster PRs full of untested code.
Leave it up to the plebe then to try to make sense of the mess they’ve created, to challenge them with the fact that the PRs are lacking tests (only to be met with excuses about not having anymore time to spend on the subject).
Reprimand the plebe for not reviewing PRs thoroughly enough. Leave it up to them to fix the resulting bugs.
I’ve lost all trust in our managers, tech leads, lead devs and their guidelines and rules that only apply to others but rarely to themselves. These people that then have the audacity to criticize the tech team in it’s entirety for not being rigorous enough in its processes.
Fuck them all7 -
First week on the job...excited to start working after just finishing uni..they gave me a monster C# project that hasn't been modified in years...and all the devs that worked on it are no longer employed and the code has absolutely no comments.
And I'm supposed to learn it and modify it...fuck me this is gonna take a while.4 -
How surprising is it when a person designs code in a very clear and impressive structure and just when you think about asking them for guidance, they reveal themselves to be complete turds?
I've been working with this person's "infra" code, at work. I've rewritten some classes to use their infra. I had a vague idea of how the classes work. I had no idea of how their code works. Expectedly, there were some issues but now only minor ones remain.
I asked them for a description of what I'm supposed to do for the few bugs I'm facing. They replied in such a condescending tone, it made me want to punch them through the screen.
Almost a month later, we're still going back and forth with emails. I've been swallowing it and responding calmly. I never got direct answers. Always deflections to irrelevant things or veiled insults. I took it because they did correct one silly error of mine that actually my code reviewer should've caught. (What's worse is that it got introduced by me just before my review and commit.)
But does that give them the right to insult me in front of the whole team including my project manager? I got a reply today from them with everyone of note in cc implying very clearly that I have not done any work. They highlighted a line from my code with some todo tag (that was not meant for them) to make their invalid point. A line that's unrelated to the bug I asked them about. This is after I proved them wrong when they insisted that I had done something wrong about a feature related to the bug.
If you don't understand what I asked for fucking ask me to ask again. But do not fucking try establish yourself on higher ground by pointing out irrelevant things in my code.
I was shocked and enraged that they'd do such a thing. I double checked everything like a mad man. Despite knowing that the fix has to come from them, I was instantly transported to the noob stage, grasping at straws. I wanted to send a really scathing reply right away but my manager asked me to wait.
My mind is now a see saw shifting between a panicked noob questioning every fucking thing I ever did in my nada life and a hungry enraged monster looking to maul that fucking shithead for burning me like that.1 -
To the JS devs (not all of course, but to many of them), look here: ;
Is it so hard to do? ;
I feel like you don’t use semicolons just to mess with non-JS devs...
Just because it works without, doesn’t mean it shouldn’t be used...
It’s as if i would stop using dots Just because I can it doesn’t mean it’s the way to go
It’s just making it more complicated for others to understand
Especially if the code looks like the spaghetti monster vomited into the IDE!21 -
Alright sit down boys this is gonna be a good tale (also a long one).
I'm currently developing a wordpress site for a Client. Everythings works well enough, I had a few "wtf is this shit" moments. Now we decided to give him access to the wp site so that he can see and change (I know, I know don't judge me pls), so I set up tunneling with ngrok, but that PIECE OF SHIT WP DIDN'T WORK ANYMORE. You asking why? Oh I'm telling you why, wp uses ONLY absolute paths. Well fuck, I ain't gonna touch that piece of shit php code, so I installed a plugin and shit was working.
In short, after a few fucking HOURS that shit finally worked. Well that would be a great fucking end for our little tale right? Yeeeeaaah no, I shit you not, it gets even better!
After a few days my client gets back at me that he can't enter fucking wp-admin to work on the text an stuff (again pls don't judge me for granting him access to the backend of wp during development). So I checked it out and that piece of shit didn't work. If anyone would happen to know why, I would be grateful bc for the love of spagetti monster I HAVE NO FUCKING CLUE!
So I said to myself well fuck this shit and put it on a webhoster. Uploaded all the files, and migrated the db. Sounds like it finally worked right? Well guess again buddy. So I needed to go to the database, updated values manually for wp to have the correct url and then still needed to force it to refresh every fucking link.
As it finally works now, this tale is also finished then and I really hope that part 2 is never ever comming!
Sorry for the (somewhat) long rant but this is some next generation bullshit. -
My worst legacy code experience:
>10k lines of switch case statement with "some" fall through.
Even fall through for 4 or 5 cases.
This monster was copy pasted and modified over years (Order of the case statements and another fall throughs).
So you can't diff this piece of shit for refactorings.
Luckily I leave that company. -
It is great feeling, to leave company and leave all your crap code to others :D
500 lines bash generic wrapper to curl (just to catch and print errors, not just silently fail as most devs tell curl to do).
It was monster that used "function overload" and "subclasses" (based on dynamic source files). Also dynamically created inline AWK script to parse curl output. It kinda worked, but amount of high-level hacks I had to use was enormous.
Never use Bash when you do not have to. Even if you have experience with it. Others don't have it and will fail miserably trying to patch your code. Just leave bash for fast bridging between programs, leave python/java/c#/go or any other proper OOP language for a job. Please ? -
I am so close to crying it is just not funny, every time i close my eyes I picture Superman's Scream after snapping Zod's neck in man of steel i.e. filled with pain, anguish and not being able to accept what you have become... I am not a dev but I have been glued to a computer screen since 7 years old.
I work for a company as the I.T. Administrator that does quite a bit of specialized work in the regulatory industry and has there own in-house software. This was built by one developer after another, hired straight out of university/college and you cannot believe how big of a monster this became being built with direction from someone who cant code and a bunch of "drunk children" who do not know good principles (swear to god thousands of lines with no comments and no OOP)
Now I am validating and testing a system, i keep being asked if we will be ready by the end of the week and due to my lack of qualifications after dropping out of school I keep thinking yes, but every time i test something I find another problem, I may not be able to code but understanding quickly is my strength and I know this shit is not simple.
I am under constant pressure to deliver something quickly.
Any concerns I raise are almost brushed off because I am an idiot with no qualifications who should be greatful for the work I am doing and the low as balls salary
The problems I solve are commended by the 10+ years of experience senior developer writing the application for us, yet I get shit for taking an hour to find the problem that existed in our network setup because it is the devs job (OMFG HE WOULD NEVER HAVE REALIZED WITHOUT COMING HERE AND LOOKING AT OUR INFRASTRUCTURE... WE WOULD HAVE BEEN STUCK FOR A FUCKING MONTH!!!!)
I see only 2 courses ahead for my life. The easy way and the hard way.
Easy way, buy a gun and end it all.
Suffer for 3 more years in the place that is causing constant breathing difficulty and the occasional pain in my left arm, finish my matric, continue learning to code and leave.
But right now I just want cry scream like Superman!!!6 -
My college senior project has become a monster. I look at it and all the work put into between my friend and I and all I can think of is
"This shits fucked I'm glad it's not for sale"
Seriously it works for the most part, but we're up to ~2500 lines of code and about as many headaches and it's still missing so much functionality and has so many security flaws. It's a great proof of concept, but good lord I couldn't imagine building it into a feasible application. It'd take months of work full time!6 -
How was I able to fix this bullshit report generator task?
Simple bitch. I am that fucking good. Matter of fact. I am more than good. Sit the fuck down and listen.
That fucktard you have over there acting as a faculty member teaching kids about code and security? Blame that bitch for the horrible code that was NOT working since he wrote that with absolute disdain for software engineering and without taste or finesse.
Yeah I was able to troubleshoot his monster of an app. His ass is the reason why people hate php, giving the lang and community a bad name and shit.
Pleased to meet you btw.
I am Alex. Your new rockstar.
To my manager: i got it babe don't worry. I'll be your huckleberry.
I am out.1 -
I love caffeeine,
I love caffeine,
feen feen feen for the caffeine
I wrote me some crappy bogus code,
my boredom was ready to overload,
I popped a monster and now everything flows,
i love caffeine14 -
confessions[0]
I got into hell and sinned there.
This was a few years back when I was getting into webdeb. I was working with WordPress at that time and a start-up asked me to help them build a website on WordPress through a mutal friend. That was my first WP site and it is a jungle of unorganized code. I didn't bother making a child theme, overwrote PHP files without documenting it and changed CSS in the orginal files. Instead of a child theme, I made a monster.
The worst part is, that site has never seen an update coz an update in WordPress would undo all my work. I should prolly burn the server the site is hosted on to purge my sins. -
We're moving our services to a new app interface, and it drives me crazy when a BA tells me to make something look like the old, terrible app because "user's won't like a change." You're making a whole new app! You can fix the terrible appearance and functionality issues! Take advantage of this!
It's starting to feel like I'm putting together an awful Frankenstein's Monster of code and components. -
Praise the Jesus/Allah/Buddha/Flying Spaghetti Monster, the newest Visual Studio Code version doesn't require reset after extension installation!1
-
This one makes me legitimately angry:
https://github.com/fzaninotto/...
This library is used by thousands of devs on a daily base while the code-base is an unchangeable legacy monster.
I could vomit, because I'm so happy!
Jeez! -
I took a project. Wild mix of php and html including db stuff and data processing. About 200 files, some 3000+ lines long with if else cases processed in another template/logic behemoth...
I wrote a js file included it at the footer of the monster and update dom + data via ajax on my own api implementation because I'm too afraid to write in any of those files.
I've been told its quality code and well documented3 -
I feel like i am being forced to own a shitty module in our codebase.
It was developed by previous owners and they made a frankenstien monster out of it: Its one part of codebase that is very huge, does not follow the code standards, is making complex kinds of api calls and using very niche components. It gets bugs once in a while BUT IT WORKS.
It fuckin works and is one of the important steps before customer purchases a company product, so kinda part of revenue generation flow.
But this module was never a part of our codebase which we would usually touch. it was owned by another team, they would add enhancements , new features to it and fix the bugs .
When i joined the team, i was once asked to help those guys as a "resource" because they wanted to get something shipped and were low on bandwidth. So i just worked on one of the screens, added a small bugifx and voila, task is done and am back to other part of the app.
But now out of random, they decided to pass on the ownership to ur team, gave a small KT which didn't really explained a lot of actual codebase, but rather the business functionality of it(and that too poorly). And my TL is saying that i should own it because "I worked on that module before"
I don't know how to deal with this frankenstien monster. Earlier a bug came and i was out of my wits to understand why this bug came. their logging is weird and not explaining a lot, their backend devs help provide aws logs but those aren't very helpful either .
the best i could do was declare that their technical approach is wrong and we should modify it, but that idea was quickly squashed.
ITs quite possible that company isn't going to change this module or add any new features further. but everytime a bug would come, i would be getitngfrustrated looking at their frankenstien monster5 -
Unity Engine lures you into trying it out with its simple starting Tools.
But once you realize this is just a fassade - it's too late and the trap got you.
You're now in limbo of to simple code which isn't compatible with the more complicated features!
Oh you try to fix this bug here? Let me suggest you 6 year old solutions from Unity Version that are not supported anymore!
Sorry just have to say it: Unity is big pile of sh*t! I don't know who had the idea of making this frankenstein-monster!
Just to consider thinking not only making one monster - NO!
Lets do a whole bunch of iterations and versions of this monster and yes you guessed it: they are not compatible to each other!1 -
When you play on lagacy shit spaghetti monster code with a fucking ass crack boss don't understand anything and bullshit you (yaya that code is perfect) !
I just want to drop that fucking job full of shit
Week 2 😂🤣😭 8 months come2 -
About a year ago I had the great idea to enforce ago I had the great idea of proposing that we all lint our legacy code base using eslint to increase the overall quality of our JS.
I distributed the task of initially fixing all the errors eslint would find to the whole Frontend team (Luckily we only use JS there). I've finished my part in a couple of weeks and came across this piece of spaghetti.
One of the guys who has been with the company for over 10 years said, that the guy who wrote this monster was very proud of it...
In case you cannot understand what this does: It calculates the distance between 2 points on earth.9 -
I wonder if there is any tool to measure the amount of spaghetti code in my project... it feels really messed up.
Anyone got a testing tool at hand for it?5 -
I've lost count of the days at this point...
First things first, lets all praise musky for getting David Bowie stuck in my head for the next month or so, not a bad thing, his song choice was on point. Also the rants have become few and far between because apparently I have to be an "adult" and go to work, pay my bills, and other things that distract me from programming.
Okay, now to the actual dev stuff. I've started to think that maybe my scope of languages is limited somewhat to my comfort zone, which is only java at this point. So for my project (game development), I've decided to pick a language based on what will work best instead of what I'm comfortable with, my runners so far...
C++: The default go to for game development. I would chose this but if I did, my best C++ game would look like Frankenstein's monster and would be filled with terrible code. For that alone I have scratched C++ from my list, for lack of experience.
Java: My usual, my go to, my comfort zone. I don't want to be comfortable though, I want to learn things. That asides, java has tones of resources, frameworks, libraries, and tutorials available. In addition, it's also able to run on pretty much anything, huge ++. The cons are trying to find the best resources, frameworks, libraries, and tutorials to use for a particular situation and that can be hard and confusing. Java may still be my go to but I'll get to that with the next language.
C#: I have never touched C# in my life, and the only things I know about it are what I've heard or read. So far I've heard it is SIMILAR to java, based around C++, and has aged really well compared to other languages. I like that it is similar to java without it being the same language, it will force me to learn things over and you can never reinforce the basics enough. It also has the huge benefit of being Microsoft based while still running on iOS, linux, macOS, windows, and android. This gives me really easy access to implement a mobile version (in the future obviously), while being able to run well on windows, the default OS for most gamers.
Overall I will start writing in C# and see if I like it. If I don't it's no big deal, I still have a good option in java to fall back on. I'm open to hearing opinions on this topic, java vs. C# but please keep your bias nonexistent and you constructive conversation very high. If any actual game developers that have experience with both languages are out their, and reading this, please comment so I can pick your brain.
Some of you may ask about the android scholarship, I contacted google and told them android development wasn't for me so they sent someone a late invite and rescinded mine, hopefully someone else will put it to better use.
Holy god this is long. I'm sorry. -
Today I fought against a monster named as CSS and I sort of won.
I am having a problem in that the grid layout don't work with the scroll bar (overflow)
After hours of trying thing out I remember that I am just creating the prove of concept that the system can actually be build.
I said "Hey this is just a prototype, it doesn't need to be pixel perfect, and finally use height in css".
I really appreciate it if anyone can advise me on less dirty method. Here is the source code
https://jsfiddle.net/rc0f9t5j/
The input box should stay at the button no matter how much text the container have. The fiddle have the intended behavior.4 -
Today I witnessed a presentation of a full-stack web project where 90% of the code was either taken off of online tutorials, or created by the tutor and even though the code was full of over-explaining comments, the Frankenstein of this monster was not able to explain any of the code in the project. I do not even understand why this person enrolled in this course to begin with. I genuinely feel bad for the guy, but he had it coming. At least try to put in some work into the project if your course grade depends on it.1
-
So I'm new to NestJS, Node, etc. and I just noticed that the guy working on the API made every request call a different service class, instead of using a single service class. For example.
get() {
return await this.getObj.run()
}
post(myDto){
return await this.storeObj.run()
}
update(myDtoUpdate){
return await this.updateObj.run()
}
And I'm not sure why. He's also injecting the request into those classes, instead of passing the DTO to the method call. I mean, it's still injecting the data into it I guess, but it seems so roundabout. Something like this:
public constructor(
@Inject(REQUEST) private request: Request,
){}
I'm scared, but I'm not sure if it's just my own ignorance or a sixth sense telling me that this is gonna be a mess.
Have you seen APIs implemented this way? I can see the benefit of dividing the code into smaller classes, but it just seems overkill to me, specially when there's a big chance that code will be repeated (getting an entity by ID when updating it, for example).
I'm still in time to kill this with fire before a new monster is born though, so that's something.1 -
Code base is full of /*bug fix - XXXX */ coments, sometimes it feels the software is a Bugenstein's Monster!!
Not sure if this kind of comments serve any real purpose...
Commented old code is a more familiar monster; but that's a tale for another day.