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 - "naming stuff"
-
Oh, man, I just realized I haven't ranted one of my best stories on here!
So, here goes!
A few years back the company I work for was contacted by an older client regarding a new project.
The guy was now pitching to build the website for the Parliament of another country (not gonna name it, NDAs and stuff), and was planning on outsourcing the development, as he had no team and he was only aiming on taking care of the client service/project management side of the project.
Out of principle (and also to preserve our mental integrity), we have purposely avoided working with government bodies of any kind, in any country, but he was a friend of our CEO and pleaded until we singed on board.
Now, the project itself was way bigger than we expected, as the wanted more of an internal CRM, centralized document archive, event management, internal planning, multiple interfaced, role based access restricted monster of an administration interface, complete with regular user website, also packed with all kind of features, dashboards and so on.
Long story short, a lot bigger than what we were expecting based on the initial brief.
The development period was hell. New features were coming in on a weekly basis. Already implemented functionality was constantly being changed or redefined. No requests we ever made about clarifications and/or materials or information were ever answered on time.
They also somehow bullied the guy that brought us the project into also including the data migration from the old website into the new one we were building and we somehow ended up having to extract meaningful, formatted, sanitized content parsing static HTML files and connecting them to download-able files (almost every page in the old website had files available to download) we needed to also include in a sane way.
Now, don't think the files were simple URL paths we can trace to a folder/file path, oh no!!! The links were some form of hash combination that had to be exploded and tested against some king of database relationship tables that only had hashed indexes relating to other tables, that also only had hashed indexes relating to some other tables that kept a database of the website pages HTML file naming. So what we had to do is identify the files based on a combination of hashed indexes and re-hashed HTML file names that in the end would give us a filename for a real file that we had to then search for inside a list of over 20 folders not related to one another.
So we did this. Created a script that processed the hell out of over 10000 HTML files, database entries and files and re-indexed and re-named all this shit into a meaningful database of sane data and well organized files.
So, with this we were nearing the finish line for the project, which by now exceeded the estimated time by over to times.
We test everything, retest it all again for good measure, pack everything up for deployment, simulate on a staging environment, give the final client access to the staging version, get them to accept that all requirements are met, finish writing the documentation for the codebase, write detailed deployment procedure, include some automation and testing tools also for good measure, recommend production setup, hardware specs, software versions, server side optimization like caching, load balancing and all that we could think would ever be useful, all with more documentation and instructions.
As the project was built on PHP/MySQL (as requested), we recommended a Linux environment for production. Oh, I forgot to tell you that over the development period they kept asking us to also include steps for Windows procedures along with our regular documentation. Was a bit strange, but we added it in there just so we can finish and close the damn project.
So, we send them all the above and go get drunk as fuck in celebration of getting rid of them once and for all...
Next day: hung over, I get to the office, open my laptop and see on new email. I only had the one new mail, so I open it to see what it's about.
Lo and behold! The fuckers over in the other country that called themselves "IT guys", and were the ones making all the changes and additions to our requirements, were not capable enough to follow step by step instructions in order to deploy the project on their servers!!!
[Continues in the comments]26 -
This codebase reminds me of a large, rotting, barely-alive dromedary. Parts of it function quite well, but large swaths of it are necrotic, foul-smelling, and even rotted away. Were it healthy, it would still exude a terrible stench, and its temperament would easily match: If you managed to get near enough, it would spit and try to bite you.
Swaths of code are commented out -- entire classes simply don't exist anymore, and the ghosts of several-year-old methods still linger. Despite this, large and deprecated (yet uncommented) sections of the application depend on those undefined classes/methods. Navigating the codebase is akin to walking through a minefield: if you reference the wrong method on the wrong object... fatal exception. And being very new to this project, I have no idea what's live and what isn't.
The naming scheme doesn't help, either: it's impossible to know what's still functional without asking because nothing's marked. Instead, I've been working backwards from multiple points to try to find code paths between objects/events. I'm rarely successful.
Not only can I not tell what's live code and what's interactive death, the code itself is messy and awful. Don't get me wrong: it's solid. There's virtually no way to break it. But trying to understand it ... I feel like I'm looking at a huge, sprawling MC Escher landscape through a microscope. (No exaggeration: a magnifying glass would show a larger view that included paradoxes / dubious structures, and these are not readily apparent to me.)
It's also rife with bad practices. Terrible naming choices consisting of arbitrarily-placed acronyms, bad word choices, and simply inconsistent naming (hash vs hsh vs hs vs h). The indentation is a mix of spaces and tabs. There's magic numbers galore, and variable re-use -- not just local scope, but public methods on objects as well. I've also seen countless assignments within conditionals, and these are apparently intentional! The reasoning: to ensure the code only runs with non-falsey values. While that would indeed work, an early return/next is much clearer, and reduces indentation. It's just. reading through this makes me cringe or literally throw my hands up in frustration and exasperation.
Honestly though, I know why the code is so terrible, and I understand:
The architect/sole dev was new to coding -- I have 5-7 times his current experience -- and the project scope expanded significantly and extremely quickly, and also broke all of its foundation rules. Non-developers also dictated architecture, creating further mess. It's the stuff of nightmares. Looking at what he was able to accomplish, though, I'm impressed. Horrified at the details, but impressed with the whole.
This project is the epitome of "I wrote it quickly and just made it work."
Fortunately, he and I both agree that a rewrite is in order. but at 76k lines (without styling or configuration), it's quite the undertaking.
------
Amusing: after running the codebase through `wc`, it apparently sums to half the word count of "War and Peace"15 -
i was asked to start a new project, and another dev was brought onto the team shortly after. as soon as he joined, straight away he started an entirely new project and worked on it through the whole weekend, then came back on monday and just sort of pasted his files into/over the code i had already started and was working on, with no regard for folder structure or naming conventions or anything. his work was even split between 2 almost identically named namespaces (both of which were completely different to the existing project namespace) and his shit broke everything i did in the first place. the cherry on top is that none of his work was even functional, it was purely dummy/mockup web pages that weren't linked to any sort of backend.
when i asked him wtf he thought he was doing, he kept saying "i didnt touch your code" and refused to acknowledge that pasting a project over a different project can break stuff, then said it "wasn't his fault that i'm slow and not keeping up". and just kept saying vague bullshit about how i have to do it his way because he "has more experience"
he had no idea what my previous experience was, he had never asked and i had never told him, he just decided that he had more experience than me.
i dug through the shit and found out that he didn't just break my work, he had actually purposely deleted it when he realised it was getting in the way of his spaghetti. i showed him the commit and confronted him with it and all the cunt said was "well the good news is, you know the fix" and kept trying to dismiss me in the most disrespectful ways he could think of. i eventually snapped at him (long overdue at this point) and told him that any experienced developer would not commit code that didn't even fucking compile, especially when they're the one who broke it, and that he needs to grow up. of course he then complained that i was being unprofessional.
our manager decided we should go with fuckfaces """code""" without even looking at the work either of us had done, purely because fuckface is older than me and that's how the world works.
in the end i just told my manager that i refuse to work with the guy and he could either take him or me off the project (guess who he picked) or i quit.
after a few months of the guy failing to deliver any of even the basic functionality that was asked for, the entire project got scrapped, and the dude just quit once everyone realised he was literally just larping as an experienced dev but couldn't accomplish simple tasks.
i never received an apology from anybody involved.5 -
I am fed up working with unskilled software developers. Or to be more specific, working with people who have no idea of sofware architecture.
Most people I've worked with have simply no idea what they are doing in the broad picture, they can only follow patterns they see and implement their feature in the same way. They can't think about the abstract concepts which should be the foundation of the project.
They fail to write unit tests which are maintainable. They write one fucking test per method which is testing 50 things at the same time, making it often impossible to understand what is being tested.
They think putting stuff in private methods makes their class better and is some kind of separation of concerns.
They write classes and afterwards create interfaces for these classes named {Class}Interface, shoving all the methods into that interface. They think it's good design to do so.
They are unable to think about the reasons why things are done the way they are done and that you don't do stuff for the sake of doing stuff, but to achieve certain goals like interchangeability.
They don't undestand how to separate business logic from the application code.
They have no sense for naming things beautifully. They don't see how naming things is a major part of good software architecture.
They get layer concepts wrong and then create godlike {EntityName}Service classes, which do everything related to a particular entity.
They fail to shape the boundaries within a software project, entangling stuff which should live in individual modules.
All I want is to work in a team with professionals.2 -
Naming my psd file for the n-th time: superimportantrevisedfinal-final-draft.psd. I think it's time to move design stuff to a repo ffs.3
-
Quick tip for naming stuff: learn some Dutch. Any random word is good for naming an app/website/project/whatever. Examples:
Turtle ----> Schildpad
Beach ---> Strand
Tonight ---> Vanavond
Tasty ---> Lekker
Sandwich ---> Boterham7 -
dear api author at my company pt. 2:
If you're gonna create an api method that takes some arguments.
And one of those arguments is an array.
THEN MAKE THE FUCKING ARGUMENT'S NAME PLURAL YOU FUCKING PIECE OF SHIT.
REPEAT WITH ME, MOTHERFUCKER.
ARRAY, PLURAL, NON-ARRAY, SINGULAR.
I need to pass a shitload of filters for the data for this table, and for every suckin fuckin filter I need to singularize this shit. Thank god for es6.
I know this sounds like nitpick, but I swear to fucking alpha omega this guy is inconsistent as fuck.
Every time it feels like he makes up a new rule.
Sometimes I need to send arrays of ids, other times arrays of objects with an id property on each.
He uses synonyms too, sometimes it's remove, other times erase.
PICK ONE MOTHERFUCKER.
If you can't do the basic things well, then what is to expect of more advanced stuff?
Naming conventions you fucking idiot, follow them. It's programming 101.
You're already sending them as plural in the fucking response. Why change them for the request?
And that's just style, conventions.
This idiot asshole also RARELY DOES ANY FUCKING CHECK ON THE ARGUMENTS.
"Oh, you sent a required argument as null? 500"
We get exceptions on sentry UP THE ASS thanks to this useless bone container.
YOU'RE SEEING THE EXCEPTIONS TOO!!!!! 500'S ARE BUGS YOU NEED TO FIX, YOU CUMCHUGGER
And sometimes he does send 400, you know what the messages usually are?
"Validation failed".
WHYYYYYY YOU GODDAMN APATHETIC TASTELESS FUCK???
WHAT EXACTLY CAUSED THE FUCKING VALIDATION TO FAIL????
EXCEPTIONS HAPPEN AND THANKS TO YOU I HAVE NO IDEA WHY.
The worst of all... the worst of fucking all is that everytime I make a suggestion to change shit, every time, you act like you care.
You act like the api is the way it is because you designed it in a calculated manner.
MOTHERFUCKER. IF A USER HAS ONLY PRODUCT A, THEN HE SHOULDN'T BE ABLE TO ACCESS DATA FOR PRODUCT B. IT IS NOT ENOUGH TO JUST RESTRICT SHIT WITH ADMIN ROLES. IDIOT!!!!!
This is the work of someone who has no passion for programming.10 -
Is it just me who sees this? JS development in a somewhat more complex setting (like vue-storefront) is just a horrible mess.
I have 10+ experience in java, c# and python, and I've never needed more than a a few hours to get into a new codebase, understanding the overall system, being able to guess where to fix a given problem.
But with JS (and also TS for that matter) I'm at my limits. Most of the files look like they don't do anything. There seems to be no structure, both from a file system point of view, nor from a code point of view.
It start with little things like 300 char long lines including various lambdas, closures and ifs with useless variables names, over overly generic and minified method/function names to inconsistent naming of files, classes and basically everything else.
I used to just set a breakpoint somewhere in my code (or in a compiled dependency) wait this it is being hit and go back and forth to learn how the system state changes.
This seems to be highly limited in JS. I didn't find the one way to just being able to debug, everything that is. There are weird things like transpilers, compiler, minifiers, bablers and what not else. There is an error? Go f... yourself ...
And what do I find as the number one tipp all across the internet? Console.log?? are you kidding me, sure just tell me, your kidding me right?
If I would have to describe the JS world in one word, I would use "inconsistency". It's all just a pain in the ass.
I remember when I switcher from VisualStudio/C# to Eclipse/Java I felt like traveling back in time for about 10 years. Everyting seemd so ... old-schoolish, buggy, weird.
When I now switch from java to JS it makes me feel the same way. It's all so highly unproductive, inconsistent, undeterministic, cobbled together.
For one inconveinience the JS communinity seems to like to build huge shitloads of stuff around it, instead of fixing the obvious. And noone seems to see that.
It's like they are all blinded somehow. Currently I'm also trying to implement a small react app based on react-admin. The simplest things to develop and debug are a nightmare. There is so much boilerplate that to write that most people in the internet just keep copying stuff, without even trying to understand what it actually does.
I've always been a guy that tries to understand what the fuck this code actuall does. And for most of the parts I just thing, that the stuff there is useless or could be done in a way more readable way. But instead, all the devs out there just seem to chose the "copy and fix somehow-ish" way.
I'm all in for component-izing stuff. I like encapsulation, I'm a OOP guy by heart. But what react and similar frameworks do is just insane. It's just not right (for some part).
Especially when you have to remember so much stuff that is just mechanics/boilerplate without having any actual "business logical function".
People always say java is so verbose. I don't think it is, there is so few syntax that it almost reads like a prose story. When I look at JS and TS instead, I'm overwhelmed by all the syntax, almost wondering every second line, what the actual fuck this could mean. The boilerplate/logic ration seems way to off ..
So it really makes me wonder, if all you JS devs out there are just so used to that stuff, that you cannot imagine how it could be done better? I still remember my C# days, but I admin that I just got used to java. So I can somehow understand that all. But JS is just another few levels less deeper.
But maybe I'm just lazy and too old ...4 -
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
This is really the stuff I have to deal on daily basis. -
Step by step here:
1. Choosing a stack
2. What to put where(folder structure)
3. Naming stuff(variables, classes etc etc)
4. Finish what I started.1 -
You may remember a super long time ago I double-buffered the Windows cmd.exe using c++
tl;dr, here it is in c!
Anyways, I was still learning c++ back then. It wasn't my first project in c++ but it was close and I ran into a lot of issues. The thing worked... but only if you didn't touch it.
Here's the same project (With a lot less bells'n'whistles) written in c. I used a different approach this time, and other than my function naming convention (Which, I honestly don't even know if it's bad or not!), I think this is some pretty solid code!
In the image you see the header file (I used as a summary of the code) and then three x's in a terminal. To do this, the code:
-Creates a ConsoleScreenBuffer handle
-Creates two CHAR_INFO buffers for drawing & displaying
-Draws three x's to the draw buffer
-Copies the draw buffer to the display buffer
-Copies the display buffer to the ConsoleScreenBuffer handle
I'm thinking about cutting out the middle man and removing the display buffer (which holds what is currently displayed) but I think it may actually be useful, and I don't know.
Anyways, I have no friends that understand this stuff so that's why it's here. Cheers.3 -
Why is naming stuff so difficult? 🤬😡
Spent the last hour thinking of an appropriate name for an enum20 -
Both apps I'm working on have legacy code:
iOS app has 100's and 1000's of lines of code with no documentation, no proper naming conventions and cut and pasted code off the net.
Android app has skeleton code from a Spanish taxi app + remnants of a funeral webcasting app, there's also the same no documentation, bad naming conventions and cut and paste code off the net.
The server is also as bad, it had methods that we're never used, I for one don't fully understand the server but from what I can see it's a mess.
I had a hard time understanding both apps and gladly majority of the modifications I made we're not including existing stuff, so I guess I just basically pilled my code onto of the already existing software.
I would have gladly started from scratch given the chance.8 -
Do you give your PC or Smartphone (or printer etc) a name?
Like: I called my Laptop "Momo" (Reference: Michael Ende, I never read nor watched it but I liked the drawing style)
And my Phone "Ori" (Reference: Ori & the blind Forest, I never played it, only saw a some gameplay)20 -
Could do with some dev input here.
Going to rename most of my projects before I start them up again just for some consistency amongst everything so...
Because I name my projects internally as a different tree for each milestone (1.0 is maple, 2.,0 is pine etc) I'm going to have my other stuff follow a tree related naming scheme, first up is my game engine/framework...
It's currently called the 'Mod Engine' but I have 3 idea's and want to know people opinions
- Woodsman Engine
- Lumberjack Engine
- Lumber Engine
Which is best do you think or can anyone think of any better ideas? :-320 -
I guess most of the things I do are a bad dev habit?
From not commenting stuff to commenting in German to copying stuff without looking at it, procrastinating a lot, not starting at all, bad naming of variables, bad... Everything? Idk, I have a lot to learn4 -
I just realized how weird my searches would seem to an outsider
"python twisted vs falcon celery"
"python hug vs falcon"
I do like naming stuff as animals though. Maybe we should sort all of the python web servers by speed and name them accordingly.
Falcon is obviously the fastest, we can name twisted cheetah, and all the way at the end Django becomes elephant. Big and powerful but soooooooooo slow. -
Doing my internship now, and seems like I need to get used to naming files and other things properly again. No more 'that thing','stuff','important shit','that other thing' etc file names1
-
Master/Slave
Fuck you guys. Honestly most of the rants i've read concerning python and their abolishme t of sait terms where fucking butthurt. "What virgin suggested this", "people shouldn't be offended, it's just a name" and so on.
I do agree with every one saying a name shouldn't matter (readability is a different story! However parent/child or producer/consumer IMHO preserve that). So why are you fucking offended when it is changed to parent/child or produver/consumer? Does it affect you in any way? You know there's the `sed` command, plus IntelliJ (and most other IDEs) have a quite good support for renaming/refactoring stuff.
By reacting this way, by beeing offended all you do is proving the point. Words can offend people. I personally don't care how it's called. So far I always used master/slave and didn't think twice about it. But then again if someone of my coworkers or friends would feel threatened by these words, I try to avoid them. Naming diesn't matter to me, nor the compiler. So fuck, if it makes people happy or feeling save then lets change it.
What the fuck do you gain by sticking to those terms anyways?17 -
Few years ago as a junior android dev with couple years of self taught experience of working in startups I submitted a simple android app assignment for a junior android dev role. Assignment had only like 8 requirements so I followed them to the letter. That didn't end well.
App was simple just 3 screens. Login screen with username and password input fields, login button.
Had to call a login endpoint after login button was clicked, redirecting to home screen, calling items endpoint, displaying a list of items and when an item was clicked passing item data and redirect to item details screen.
Needless to say big swinging dick senior was not impressed. UI was not perfect, I forgot to display a loading animation when fetching data, didnt handle back button properly.
I agreed with some points but other comments were clearly just nitpicking: his preferred variable naming conventions, his opinions on architecture that was not up to his standard (official google arch at the time was not up to his standard).
He also was mad that app wasn't prepared for release to googleplay (another out of the ass requirement). Like I would prepare a 3 screen app for prod release that he will forget ever existed after 20min of his review.
Lots more of nitpicking, encapsulation this encapsulation that, omg now hes shocked that there are a few warnings after the project is built.
Regardless my self confidence was destroyed at that point and after few more negative experiences I dropped android dev alltogether for a couple years and switched to game dev.
After game dev ran its course I went back to android dev and found a supportive place where I could grow.
Looking back, they were actually hiring atleast a mid level for a junior position but I was grilled as a senior. The guy literally didnt wrote any single positive thing in that review about my code even tho my senior peers said my project was decent back then, its just that I didnt handle a few edge cases and that's all.
I looked up the guy in linkedin, turns out hes a uni dropout who posts all books that he red about software dev in his education section of his linkedin profile. Found a bunch of other narcissistic stuff on his profile. Guy was a fucking idiot. Even if I worked under him it would have probably sucked.
Learned some important lessons I guess. Always get a second, 3rd and 4th opinion and dont take criticism too seriously. Always check what kind of person is providing feedback.4 -
When you spend 6 hours figuring out how to best encrypt/decrypt your unimportant website cookies just because you don't want people to see how bad you are at naming stuff :x
-
Fuck my country's universities, fucking greedy assholes that ruin lives, suck wallets and sucks life from the young.
I'm currently studying something completely non related to programming: History. And I really love it. I love reading 1000 pages for each test and essay and talking about the problem of naming the Cold War a war and cold and etc. The problem is that I won't make as much money as I would make even as a self taught developer.
After considering my possibilities, I thought I could enter the computer science carreer. I don't know how this works in other countries but here you would have to study 3 years of an engineering common plan and then specialise in some sort of industrial engineering while getting an specialisation also in computer science. After some counting, I got to the conclusion that I would be studying 6 years (or more), and wasting half of those years learning stuff that I would never use nor care about.
But that's not all. This semester I took the introductory class for programming. It's pretty basic stuff but at least they teach a little bit about algorithms and problem solving. It turns out that a friend of mine that's about to graduate from computer science applied as a helper for the prof. I was so excited I could finally talk with someone about code!
Since the start of the semester I have been passing a lot of time with him and talking about the future. Turns out he doesn't understand shit about code but somehow he learns everything by hard and has passed every computer science course without having any practical abilities. I don't blame him, he's studying hard and playing by the rules, and turns out that he has wasted precious time of his life also learning biology, chemistry, structural engineering, hidraulic engineering, transportation engineering and a ton of engineerings that he won't use.
If the university would instead take that time to teach better courses of practical programming or leave him some time to try out the stuff he learns by hard, he wouldn't have to hear me talking about stuff he doesn't comprehend but feels that should, and wouldn't be utterly depressed, he wouldn't take SIX years to learn less than what he could learn in less than THREE years. And this isn't just a random university, it is one of the 2 best universities we have here and was in 2014 the best of all Latin America.
And wait, here comes the best part. In my country, levels of education are heavily stratified. After school, superior studies give different titles according to the time you've been studying. Yes just the time. And these titles are what your employers will see to give you different work positions. So for studying a 2 year carreer you get a technic job which pays well but not too well, then at 4 years you get a license title which only proves that you know stuff, then at 5 or more (depending on what you are studying) you get a professional degree and will get payed as a full fledged professional. So here, even though in other countries it takes 6 years to have a masters in engineering, they give you just the engineering degree, and it would take 2 (or more) more years to have a master. Even though you can totally teach engineering in 4 years, here they take BY LAW 2 years more, while paying what a fucking full stack of pairs of kidneys would cost in the black market.
So fuck that shit, I won't be throwing my money at any university. I hope they get reformed soon becouse this is fucking dumb, really really dumb. Like 2 year old shit dumb. I'll just learn a bit more, make some projects until I have a decent portfolio and apply to some company that cares for real knowledge and not just a piece of paper with letters and a shitty logo on it.undefined student job revolución fuck university shitty universities student life education im just a bit pissed11 -
i was hired to join a team of old devs (40+) in an unnamed European country "yay goodbye 3rd world it's time to enjoy the quality of life" assist with enhancing already existing software and creating new solutions.
prior to my arrival most things were slow and super buggy, looking at the code base it shouldn't be a surprise, amateur hour everyone, logic implemented that is not needed, comment driven development, last time code review was done back in 1996. lots of anti patterns.
i swear there is a for loop that does nothing but it loops through a 100+ elements list, trunk based development with tfs since git is "not really needed"
test projects are not there.
>enter me an educated fool, with genuine passion for the craft and somehow a decent amount of knowledge.
>spent the last year fixing stuff educating people on principles and qualities.
> countless hours of training and explaining. team is showing cooperation, a new requirement comes in to develop with react.
> tear my ass creating reusable shit and self explanatory code with proper naming etc using git with feature branching, monday is first deployment day.
> today a colleague was working on an item submit a pull request and self approve it
> look at the code..... WTF the dumb fuck copied and pasted the whole code from different kendo components but somehow managed to refractor the name to test component, commented out all the code that he didn't use did the api call directly from the component, has 2 useeffects that depends on the a fucking text box changes for no reason, no redux implementation, the acceptance criteria is not achieved, and it doesn't work it just look right.
> first world country shit cannot scold, cannot complain, lead by example.
>asked him why you did this, the response was yeah probably i shouldn't have done that, i really didn't understand anything in the training but didn't want to waste time!!!!
> rest of the team created a different styled disaster with different flavors they don't even name their shit the same way.
fellow developers I'm stuck in a spaceship with a bunch of imposters, seriously i never cried in my entire life now I'm teary and on the verge of a break down.
talk with management "improving needs time" and offers me to join a yoga session to release the stress as if reaching nirvana would deliver shit on monday.
i really don't know what do is this a rant, is this a cry for help, I'm not sure, any advice is welcomed.7 -
Every website we craft at work has some email substitution logic so that addresses you see on the site don't actually exist in the HTML source like that (you wouldn't find them in a format like "foo@example.com").
Instead the @ and the period right before the TLD get replaced with something else (to prevent (dumb) spam bots from using that address and blast it with junk).
Some people replaced them with images in the past (ew), replaced the @ with "(at)" or other stuff.
I made it a habit to render the @ and . by replacing them with span tags which then get a ::before in CSS that contains "content: '@';", so that the @ is visible but is not actually inside the HTML source code.
The classes for these spans then have a random name (persistent for that website though). The first one was called "move-along-nothing-to-see-here", but then I started naming them after Star Wars quotes.
One website's @ class is called "that-s-no-moon" (Obi Wan), others are called "i-have-a-bad-feeling-about-this" (Han Solo), "powerful-you-have-become-the-dark-side-I-sense-in-you." (Yoda) and "these-are-not-the-droids-you-are-looking-for" (Obi Wan).12 -
It's always so funny when a person starts using multiprocessing in Python, because if there's "multi", obviously THIS is the thing that should free the person from a headache of having GUI frozen. You know, because it does "multiple" ehm... stuff..... at once....... yeah. And it's popular, it must work for me too! Oh how often I see this. :D
Stupidly enough that's not entirely a user's fault, but Python's as naming things with "multi" doesn't end up well basically with anything. I bet if there was such thing as multipointer in C half of the beginners would be totally fucked and the other one would just break their machines beyond repair with a joy.
Yet... reading the damn documentation should be a requirement before using threading or multiprocessing to prevent the confusion, because there's this funny difference between multiple threads and multiple processes which will haunt you unless you see what's what and use it correctly.2 -
sensible naming stuff for readability? nah.. it's not like someone will read my code after i'm done here right?1
-
The worst part of being a dev? Working in teams.
And I don't mean that in the "I'm the best ninja code wizard in the whole world and you're all holding me back" kinda way. I'm thinking more in the lines of someone who has to deal with that kind of attitude on a daily basis. As someone who recently was put in a leading position in a dev team, this is by far one of the worst experiences that came with it.
Some examples?
- One dev completely changed the naming scheme for variables in a class he worked on for one. single. bug fix. His reason? He just didn't like it!
- Another one noticed that data he was supplied with was not in the specified format. Instead of flagging this with the project leads, he just rewrote his parser to fit the data. A couple of weeks later the supplier noticed the error, fixed the format and suddenly everyone wondered why the software failed processing the data.
- Or that one senior dev, that just refuses to accept changes because "it was always done like this and it worked" No, it didn't. That's why it was changed!
Once a dev team reaches a certain size, people need to realize that stuff like coding rules and process guidelines are not there to annoy them but to help the whole team work as efficient as possible. I don't care how good a programmer you are, if you can't check your ego you don't belong in any kind of team-oriented development project! -
Has anyone else worked in business environments and found... em.. "wannabe-tech decisions?"
For example, naming stuff with shortened words and underscores instead of spaces.... for no real reason? Or maybe using the word "database" a little too often, just to use the word? (similar to the way you might call someone by name, only to confirm to them that you have learned their name?)
It doesn't actually bother me, rather, I think it's a bit cute that these people are interested in our culture and want to be a part of it, even if it's in sort of silly ways like this.4 -
So I’m working on this project I’ve been working on for like 3 weeks and I finally got this feature to work but it had a bug and I shit you not fighting this program was like playing through bloodborne for the first time again. It got to the point where I started naming the testing files swear words or stuff like “itshopeless”, “maybe”, “maybe2”, “pls”, etc but I finally after fucking hours passed, bug slaughtered. And I’m now exhausted
-
I'm going to confess: I am the type of developer that creates the ExcruciatinglyLongAndSpecificClassNameObject with the UtterlyDetailedExplanationMethod. It's just a thing I keep doing, despite voiced frustrations from people I've worked with. It just feels right in the mindset of self-documenting code
And while I acknowledge this isn't a flawless process, I see no other way around without losing information. I've tried alternatives, but everything feels like trading one issue for another:
- Abbreviations work as long as they are well known (XML, HTML, ...). As soon as you add your own (even if they make sense in the business context) you can bet your ass someone is going to have no idea what you're talking about. Even remembering your own shit is difficult after X months.
- Removing redundant naming seems fine until it isn't redundant anymore (like when a feature with similar traits gets added). and you can bet your ass no-one is going to refactor the existing part to specify how it differs from the newly added stuff.
- Moving details to namespaces is IMO just moving the problem and pretending it doesn't exist. Also have had folks that just auto-include namespaces in VS without looking if they need the class from namespaceA or namespaceB and then proceed to complain why it doesn't compile.
So, since I am out of ideas, I'd like to ask you folks: Is it possible to reduce class/method name lengths without losing information? Or is self-documenting code just an ideal I'm trying too hard to achieve? Or are long names not a problem at all? I'm looking forward to your answers.19 -
fuck the guy that writed the api that I consume at my company
he's not the worst guy ever, and he might be going through some stuff in life, or maybe he's just happy. There's no way to know actually.
but fuck him. fuck this fucking guy. fuck him with a thousnd dicks.
this guy defends his postures on the api like this thing was fucking sacred and masterly designed ok?
if I ask him to change one url's method from get to post so that I can send more longer data for the request, he comments "i cant believe they still haven't figured out a get request with a body". I appreciate him caring abkut the correctness.
but this is the same piece of shit that makes NOOO fucking validations on whatever I send to it. I get 500 for fucking EVERYTHING.
And if he does 400, the actual response messages are garbage, the same fucking text with no explanation.
FUCK YOU!!!!!!
I hate the way he structures the names of the url and the parameters, sometimes I have to send arrays of strings, other times arrays of objects, the naming is garbage and INCOSISTENT.
And when we asked him to do the API dotnet core, he was like "nah" FUCK YOU FOR USING SOON TO OBSOLETE TECHNOLOGIES!!!
THIS PIECE OF SHIT IS SLOW, because a coworker did another spi in core and the response times are hugely better.
I wouldnt mind if he was 100% of the time careless, but he actually makes a stand for his ideas, as if he actually gave two shits.
he's actually an ok guy though but... fuck hiim!!!! ive been holding onto this for a while... and I'm sure I have some flaws too.7 -
Would you guys get annoyed if someone(me) made a habit of going through your code and cleaned things up, such as clearer naming, untangling ifs with early returns and so on.
I mean doing stuff that doesn't change the behavior, but makes it easier for the next person.9 -
So typescript 4.5 beta is out .... holy moly what did those guys smoke? 🧐🤨🤪
They keep adding stuff on top, that nobody needs. But they don't fix the stuff that is broken (like emitting broken prefix-paths ...🤦)
Imho, they should focus on the overall development experience, make it easy an consistent to setup a proper multi-module project with linter, auto-formatter, folder structure, file naming.
And please fix this ugly #private fields - just ignore this mess of a spec and emit TS private fields as #private fields. That's the only logical way. Everything else is BS.8 -
Asp seems to actually have feelings.
Today I tried to get an asp page to run for company stuff. Ok fair enough I load apache and all the modules required for it to run on Ubuntu. Everything went fine and nothing complained what a great start!
Let's create a directory called /var/www/html/astrash ( I wanted to be fun ok? ) and created a sample index.asp file and configured the paths etc accordingly.
So I went to my beloved browser and typed in localhost/astrash/index.asp
Guess what happened? Right. I could only download the file.
Tried to change several things and Googled a bit but the things I tried didn't work.
So I figured let's create the directory /var/www/html/asp and an index.asp to go along. Same content. Same owner same access bits.
Went to localhost/index.asp and I saw the sample page!
I laughed my ass off at this actually thinking asp knew that I was a dick in naming the folder like that 😂
PS: yes I know it's probably a misconfiguration but it's funny nonetheless1 -
First rant;
First of all I am an applied computer science student in the second semester.
We've got a few assignments and the first set went fine but this last week boy ohh boy - first of all today I got noticed by one of my two teammates that the other one won't get stuff done in this assignment (he also did next to nothing in the first)
Also the the assignment is unclear and the given methods and parameters don't care about naming conventions (for one method I don't even know what it should do). Also we have to use new liberies (java.io etc.) and learn them on our own so far it would be okay, the time limit is two weeks, also doable
BUT the same chair also made one assignment for web development with the same deadline and also no explanation how to do stuff.
I don't say I am perfect but the expectations are too high, while also studying for other modules1 -
> Be me
> Fresh out of school
> Do some volunteer work for 1 year before starting to work
> Start work at local hospital
> One day get assigned new task
> "We have this directory where there is a file for every employee who has a key - File contains legal stuff"
> Current naming scheme "MaxMustermann"
> Desired naming scheme "Max Mustermann"
> Task: rename every file.
> 1974 Files
> OHNONONONO.JPG
> Hol up buddy
> A repetetive automatable task?
> I know this
> Im a hackerman
> Let's write a script....
> *SMASHES WINDOWS BUTTON*
> "Python"
> No results
> I could have guessed that
> *SMASHES WINDOWS BUTTON*
> "Java"
> No Java compiler
> OH no
> *SMASHES WINDOWS BUTTON*
> "Powershell"
> "tHe eXEcUTIon oF poWeRsheLL sCriPts Is dIsAbLeD"
> REEEEEEEE
> *SMASHES WINDOWS BUTTON*
> "cmd"
> "YOu dO noT haAV thE rEqUiReD peRmIsSionS To oPeN tHis proGrAm"
> DAFUQ
> Wait this is windows.
> Windows ships with .NET
> *SMASHES WINDOWS BUTTON*
> "csc"
> No results
> OHHELLONO.gif
> mfw I have to rename 1794 files by hand.
( Please send help )7 -
nothing new, just another rant about php...
php, PHP, Php, whatever is written, wherever is piled, I hate this thing, in every stack.
stuff that works only according how php itself is compiled, globals superglobals and turbo-globals everywhere, == is not transitive, comparisons are non-deterministic, ?: is freaking left associative, utility functions that returns sometimes -1, sometimes null, sometimes are void, each with different style of usage and naming, lowercase/under_score/camelCase/PascalCase, numbers are 32bit on 32bit cpus and 64bit on 64bit cpus, a ton of silent failing stuff that doesn't warn you, references are actually aliases, nothing has a determined type except references, abuse of mega-global static vars and funcs, you can cast to int in a language where int doesn't even exists, 25236 ways to import/require/include for every different subcase, @ operator, :: parsed to T_PAAMAYIM_NEKUDOTAYIM for no reason in stack traces, you don't know who can throw stuff, fatal errors are sometimes catchable according to nobody knows, closed-over vars are passed as functions unless you use &, functions calls that don't match args signature don't fail, classes are not object and you can refer them only by string name, builtin underlying types cannot be wrapped, subclasses can't override parents' private methods, no overload for equality or ordering, -1 is a valid index for array and doesn't fail, funcs are not data nor objects when clojures instead are objects, there's no way to distinguish between a random string and a function 'reference', php.ini, documentation with comments and flame wars on the side, becomes case sensitive/insensitive according to the filesystem when line break instead is determined according to php.ini, it's freaking sloooooow...
enough. i'm tired of this crap.
it's almost weekend! 🍻1 -
I'm not experienced in VB Forms. So can someone who is, tell me if I'm just too inexperienced or if Im right about this?
Im tasked with fixing some bugs in a VB Forms project that a privious employee wrote some years ago. When I opened the project and checked it out, there was over 5600 lines of code in the codebehind for the form.
I feel like this is somewhat bad practice, no comments, no documentation... Nothing. And to top it off, among the worst naming of Subs and variables ever. Stuff like: "Run", "Stop", "Feeder", "When Load".
Oh, and the best part? The guy forgot some test code in the software, so when he left, the software stoped functioning. For real, he coded in a dependency to his own account in The AD.1 -
ORM feels like, I can do better than that, with more predictability (like naming, table creation, and stuff).
The only pro, is hopes for inter-dialects interop (SQLite-Postgres-MySQL-MariaDB).
OK, I also want SQLite-MongoDB interop, because of the cheap price; but this is difficult.