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 - "getter"
-
FINALLY
GODDAMNED
FIXED
I'VE SPENT OVER A GODDAMN WEEK SWIMMING THROUGH DEMON EXCREMENT WITH A MAGNIFYING GLASS TRYING TO FIND THE SOURCE OF THIS SHIT.
I FINALLY FOUND IT. IN A FUCKING. CONDITIONAL. OVERLOAD. OF A MODEL GETTER.
THAT ABSOLUTE NONSENSE RETURNS EITHER THE REQUESTED COLUMN FROM THE DATABASE, OR AN ENTIRELY FUCKING DIFFERENT COLUMN, ALL DEPENDING ON THE VALUE OF A THIRD FUCKING COLUMN.
HKJSDFASKFJ
TO MAKE MATTERS WORSE.
THE VALUE IT RETURNS. IS COMPLETELY WRONG. FOR ALMOST. EVERY. FUCKING. CASE.
BECAUSE THAT FIRST COLUMN? IT NEVER GETS UPDATED. EVER.
AND THIS DEALS WITH ACCOUNTING AND REAL GODDAMN MONEY.
AARRGHHHHH
WHAT THE HELL WERE YOU THINKING?!28 -
expect([
row[‘blah’][0][1],
row[‘blah’][1][1],
row[’blah’][2][1],
row[‘blah’][3][1],
row[‘blah’][4][1],
]).to contain_exactly(
a.name(user), # “John doe”
c.name(user), # “John doe”
e.name(user), # “John doe”
b.name(user), # “John doe”
d.name(user), # “John doe”
)
(Note: The comments are mine.)
See the problem? No, not the ugly code (which is actually worse than what i posted here).
It’s using the same ridiculous getter (if you can call it that) that pulls a name out of the passed user object, and then expecting each row to have that name, in order. Not that order matters when they’re all the same.
Upon inspection, all objects created by the spec have the exact same name, so the above test passes (as long as there are 5 rows). It passes, but totally not because it should: those aren’t the objects that are actually in the table. All of the specs — all 22 of them — only check for that shared name on various rows, and no other data. And it’s not like this is the only issue, either.
Fuck me these are bad.
And this guy is a senior dev earning significantly more than me. Jesus what the fuck Christ.18 -
Me: Hans, Get ze Flammenwerfer!!!
Hans: Why?
Me: The fucker rejected my PR because "calling twice the same getter is a code duplication". I swear, he always tries to find something!3 -
Last year, we had to do a big university project in randomly selected groups (5-6 students in every group).Three of the five guys were completely useless, I mean, both the other competent guy and me wrote around 20,000 lines of code each, the other ones wrote around 500 lines of code (combined).
After our first few meetings we quickly knew that we have to give them a small task which was so trivial that not even they can fuck it up. But we were wrong. Oh boy, so wrong.
They simply had to code the excel export of the data, which means they had to use two functions from a library and pass the correct data. But their solution was so bad, I lost faith in humanity and was fascinated by it at the same time.
For example, there was this simple class "Room", which had a few properties like size or number of seats and a few getter/setter etc. That was a core class and written by the other qualified guy. So how did the others fuck up the excel export? They somehow rewrote that class in German (although the other code was completely in English), implemented a function for each property that would write its value to a hardcoded cell in a hardcoded excel file.
And this was just the tip of the iceberg. Needlessly to say that I had to rewrite the whole export in the night before we had to present the project.5 -
FUCKIN FIREBASE
EVERYTHING WAS HAPPENING PERFECTLY.
UPLOADING WAS HAPPENING PERFECTLY
BUT NOT SHOWING ON THE CONSOLE.
WHY?
BECAUSE I HAD NAMED THE GETTER DIFFERENTLY!!!
FUCKKKKKKK
5 FUCKING HOURS. 5 FUCKING HOURS!!!!!!!!!!!9 -
So python does not have constants and the only way to create one is to create a class with a getter but no setter.
WHAT.THE.FUCK or am I just wrong?4 -
!dev Employers (or, well, HR) are so judgmental. Every time, they try to burn you with their judgmental torch and ask in a very judging manner: "Ohh, I noticed your life between years x and y wasn't perfect. How do you explain that?" (e.g. having a year off due to depression).
Here's how I explain it: life has its ups and downs; chaos is a fact of life. People aren't going to be perfect. If you're looking at a candidate that has a near-flawless path, then I don't think it's worth hiring that person because their motivation and work ethic are likely different from a seasoned go-getter who struggled and worked years to become good at their field.5 -
As I was refactoring a class in a TypeScript project, I changed calls from `this.config` to `this.getConfig()`.
Suddenly, the tests were failing as somehow the live credentials were used from within the test.
Digging deeper I discovered this.
interface Base {
public config;
public getConfig();
}
So far so good. Wondering why config needs to be public, though nothing too shabby, let's look further:
class MyImpl implements Base {
constructor() {
this.config = this.getConfig()
}
getConfig = () => someGlobalVar;
}
┻━┻︵ \(°□°)/ ︵ ┻━┻
Why would you do this? This breaks dependency injection completely.
In the tests, we were of course doing:
testMe = new MyImpl();
testMe.config = testConfig;
So even though you have a getter, you cannot call it safely as the global var would take precedence. It's rather used as a setter within the constructor. WTF.
Sad part is that this pattern is kept throughout the entire codebase. So yeah for consistency!?
(And yes, I found a quick workaround by doing
getConfig = () => this.config || someGlobalVar;
though still, who in their right mind would do something like this?)1 -
Quick rant, I dont have time.
I have no idea how the fuck but I managed my IDE to show me that it's confused if my class "PackModel" is "PackModel" or "PackModel" (I have only one definition if you are hands first to ask).
its few years and first time when I see shit like that.
Fun fact, it was working OK until I used getter that was returning another object and than IDE got absolutely lost.
I had to use workaround in middle of nowhere as shown on image and suddenly its back fine with it. Not like it's returned by function hard typed and PHPDoc typed to return instance of this very object and in other scopes it just works...
It's Jetbrains so Im confused, it's robust IDE ;-;...8 -
Just saw someone ranting in an App Store review that Snapchat is crashing for them so they can’t collect Snapchat flames and that flames are more than just a number.
World is doomed.1 -
this is my legacy code, it's stupid, Change my mind.
a large number of lecturer and friends are against my thought. personally, i think this kind of code is told to be an OOP yet this is against the OOP concept. why ? first you assign the field to be private, but you implement Getter and Setter method later on, this is the same if you assign the field to be public in the first place.
another minor thing; yes this is old me, i use Bahasa Indonesia as a variable name.31 -
So I met this person via a social platform.
They were absolutely silly and weren't able to hold a conversation. So I, like a normal person, just stopped trying to keep things alive.
Over the years, I have realised and learnt that if a person is interested in being friends, they'd put in efforts and I alone will not have to drag things on my shoulder.
I started cutting out people right, left, and center who I felt were taking advantage of me or using me in some way or another.
I ended up saving a lot of time and energy. I no longer feel drained or anxious about something not working out. Not dragging saved me from draining.
Anyway, they reach out to me again after few weeks and I was like let's give it a try to establish a friendship, because befriending people is my weak point.
The cycle repeats. At first I thought it must be because of the asynchronous nature of the platform so I drop my Telegram Id in case they preferred an IM approach.
I swear in the name of sweet lord, the retard does the same behaviour. So, I stopped communication.
And one fine day, the person tells me that they lack social skills and want to learn how to make friends and stuff.
Very fair point. So, me being me, gave them a few tips and critically pointed out their behaviour on how they reply with a one liner after every 2 or 3 business days.
Absolutely no change in their behaviour. They kept texting me the same.
At this point, I was like why am I doing it? I could find better people easily. Because for me, communication is everything. I cannot function without a good communication between two living beings.
So, I asked them why are they even trying to learn social skills when they barely implement it and don't want to change to which they reply saying that so they can use it to befriend people and network to getter better job opportunities.
I fuck them off.
And fuck such people who have intentions, are not clear enough about it, and play people for their own selfish gains.
And this where another learning I got from @scout is have boundaries.
Why do all good people in my life leave? Damn it! I need those good people back and be friends with them and not retards who cannot even communicate beyond one liner.11 -
If I find the genius who thought using getters and setters everywhere was a good idea, i'll gladly throw him into an active volcano.28
-
Imagine being the kind of officious prick who turns up to a bootcamp graduation evening and goes to each table in turn, condescending the graduate projects and telling them everything that they did wrong?
Imagine proceeding to try and 'break' one of the demonstration projects by 'injecting SQL into the url bar', and smashing the keyboard so fucking hard that the table collapses, beer spills over both demo laptops, and destroys them totally.
Imagine.1 -
Google really fucked up with localization for Flutter!
We need to create a getter for each translated string? For real!!
Please tell me I understood it wrong :|4 -
From long Using Visual Studio Code for Programming.
Why i love
supports Typescript
supports java
Lighter
plugins available like linter, git lense
Best for small web app projects.
And Favourite IDE, intellij Idea
Why ?
For writing java i use as
it can easily generate getter setters
constructor
importing
and build process.
best for java.
last but not the least
Nano
why ?
because most of the devops configuration, requires to be done via terminal only and i often use nano.
it is good for shell scripting,
editing configurations
that is all....2 -
Usually, when I programme for myself or in a German-only team and they agree, I/we do it in German because it makes naming things much simpler (no naming conflicts, never, and a strict visible separation between your code and libraries).
This time, I thought: "Nooo, let's do it in English, because, you know, reasons and it fits into the situation"...
Booom, stack overflow!
"How in the hell did that happen?" I never had a stack overflow before outside of recursive programming.
And what was it? I had made a class to encapsulate an API, added a property with getter and setter, naming in English and similar to the said API... very similar... in fact, the property had the same name as the API function, resulting in a getter calling itself over and over again.
This was a harmless mistake, and found very quickly, but it's interesting so see how a habit (or working method) probably prevented similar or worse sources of error in the past.3 -
I'm running into an issue with code coverage... I ran the analysis and it's penalizing unused getter, setters, equals, hashcode.
And the thing is I need those getters so GSON will serialize the fields...
How do you make coverage always > 80%?
Based on current analysis, I only get 60.15 -
Has anyone ever seen their C# getters disappear at runtime? Ya me either. Xamarin.iOS did I find a weird bug?
This is crazy2 -
Setter and getter are anti-patterns. Eradicate all of them from your code with no mercy and you'll see your code magically transform for the better.5
-
The leader in a dev team should be the BEST DEVELOPER
Not the one with "leadership" or "strong ownership" skills and "team player" or "go getter" attitudes. This is euphemism for promoting someone just because you like them, or because of their charisma.
There are many other industries where charisma can play a role in leadership but software is not one of them. To build good software we need to be objective thinkers, not influencers.15 -
So, I need to customize some shit for my company's app...
Just discovered they somehow manage to call a protected method on an object stored in a field... I can't even... How does that even compile? And also, things neccessary for my subclass are private with no getter...
private static final int ZERO = 0;
private static final int ONE = 1;
private static final int TWO = 2;
What. The. Hell. Why?
Damn Java. Though this is the programmer's fault, it does seem to favor this kind of shit.2 -
The go-getter boss sets us up on basecamp. ( Mind you, this is just two weeks after starting us on Slack )
The first topic of discussion he puts out is "What would you suggest to improve meetings?" Considering the business genius has cancelled the past 5 office meetings, I replied with "The key to a successful meeting is actually having them."
Basecamp's been pretty quite ever since.1 -
Just spent hours debugging my code, only to find out the author of the library I'm using decided to modify fields of "this" in a indexer getter, and then just return this, instead of returning a new object. 😤😠😩
-
“Just a quick fix” Classic start to a reported ticket. Ticket states that a form field was not doing anything.
Think to myself ok this sounds like a nice easy one for the morning. A few hours later I find something like the following written by a senior member of the dev team.
SearchClass {
//...list of getter and setters
Private $snakeCaseName;
SearchFunction() {
Foreach($this as $property => $value){
//... if property keys = string for each object property then do code
If($property == “snakecaseProperty”){
//...do stuff
}
}
}
}
Why does this loop exist!!!!! All it does is remove any error checking if a getter method is misspelt...
To make matters worse the entire search method was over 300 lines building a MySQL query string.... even though there was an ORM and entity classes available!!!2 -
Funny to find out that IntelliJ has a Shortcut for getter and Setter after making a own Programm that writes those methods trough String building...
-
Learning C# coming from Java...
What's the fuss about properties? As i see it, theyre only usefull for binding, as else they just work as syntetic sugar instead of getter/setter methods.
But properties are also limited to give response back, like a successfull set, unless you start throwing exceptions..
And if a set property has if(age>5){this.age=age} then if i pass the property a 4, you will never know as a user that it failed (again, unless you start throwing exceptions)
Im kinda feeling like i want to use get/set methods until i need to bind, then of course use property ?? Am i all off here?25