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 - "getters and setters"
-
"You mean to tell me that you deleted the class that holds all our labels and spin boxes together?" I said exasperatedly.
~Record scratch.mp3
~Freeze frame.mp4
"You're probably wondering how we got to this stage? Let's wind back a little, shall we?"
~reverseRecordSound.wav
A light tapping was heard at the entrance of my office.
"Oh hey [Boss] how are you doing?" I said politely
"Do you want to talk here, or do you want to talk in my office? I don't have anyone in my office right now, so..."
"Ok, we can go to your office," I said.
We walked momentarily, my eyes following the newly placed carpeting.
Some words were shared, but nothing that seemed mildly important. Just necessary things to say. Platitudes, I supposed you could call them.
We get to his office, it was wider now because of some missing furniture. I quickly grab a seat.
"So tell me what you've been working on," I said politely.
"I just finished up on our [project] that required proper saving and restoring."
"Great! How did you pull it off?" I asked excitedly.
He starts to explain to me what he did, and even opens up the UI to display the changes working correctly.
"That's pretty cool," admiring his work.
"But what's going on here? It looks like you deleted my class." I said, looking at his code.
"Oh, yeah, that. It looked like spaghetti code so I deleted it. It seemed really bulky and unnecessary for what we were doing."
"Wait, hold on," I said wildly surprised that he thought that a class with some simple setters and getters was spaghetti code.
"You mean to tell me that you deleted the class that organizes all our labels and spin boxes together?" I said exasperatedly.
"Yeah! I put everything in a list of lists."
"What, that's not efficient at all!" I exclaimed
"Well, I mean look at what you were doing here," he said, as he displays to me my old code.
"What's confusing about that?" I asked politely, but a little unnerved that he did something like this.
"Well I mean look at this," he said, now showing his "improved" code.
"We don't have that huge block of code (referring to my class) anymore filling up the file." He said almost a little too joyously.
"Ok, hold on," I said to him, waving my hand. "Go back to my code and I can show you how it is working. Here we are getting all the labels and spin boxes into their own objects." I said pointing a little further down in the code. "Down here we are returning the spin boxes we want to work with. Here and here, are setters so we can set maximum and minimum values for the spin box."
"Oh... I guess that's not that complicated. but still, that doesn't seem like really good bookkeeping." He said.
"Well, there are some people that would argue with you on that," I said, thinking about devRant.
He quickly switches back to his code and shows me what he did. "Look, here." He said pointing to his list of lists. "We have our spin boxes and labels all called and accounted for. And further down we can use a for loop to parse through them."
He then drags both our version of the code and shows the differences. I pause him for a moment
"Hold on, you mean you think this" I'm now pointing at my setters "is more spaghetti than this" I'm now pointing at his list of lists.
"I mean yeah, it makes more sense to me to do it this way for the sake of bookkeeping because I don't understand your Object Oriented Programming stuff."
...
After some time of going back and forth on this, he finally said to me.
"It doesn't matter, this is my project."
Honestly, I was a little heart broken, because it may be his project but part of me is still in there. Part of my effort in making it the best it can be is in there.
I'm sorry, but it's just as much my project as it is yours.16 -
Why in the name of Donald Knuth did you think it was a good idea to have a 1500 line Java Method? What THE HELL WERE YOU SMOKING THE ENTIRE FILE IS OVER 3000 LINES AND HALF OF THEM ARE COMMENTED OUT!
Don't even get me started on your "unit tests" which is a massive 5000 line behemoth that randomly has massive swaths of code commented out.
And of course no solution like this would be complete with you HARD CODING EVERY F****INIG STRING IN EVERY TIME!
And it's not like you don't know how to use classes as you have several of them, every single one of which is over 500+ lines and consists of only getters and setters. LET ME INTRODUCE YOU TO A MAP! REALLY WHY WOULD YOU USE 500 LINES FOR A CLASS THAT IS JUST GETTERS AND SETTERS?!
The part that really burns me about all of this though, isn't the fact that you sent it to me when I was running into a similar issue, and said "check this out it should help", what bothers me most isn't the indescribable rage I felt looking at your code, the part that really really really bothers me is that you are a veteran with over 15 years in Java development, and according to the org chart are a lead senior engineer getting paid substantially more than me, whereas I am considered a lowly mid-level developer, who isn't worth promoting to your level.
On the plus side you are now going to be featured on theDailyWTF so congrats on the notoriety.8 -
1. Indent with 3 spaces to fuck both tabs guys and spaces guys git repos.
2. Use windows line endings and laugh and laugh and laugh.
3. Giant full page ascii art intro on every single file.
4. After the giant ascii art intro there are literally zero comments.
5. Keep the bracket on the same line for getters, but on the next line for setters because fuck you.17 -
The biggest annoyance in Java for me is the absence of "real" properties. Writing getters and setters everywhere is ugly, you are generating them anyways.7
-
Hello everyone, this is my rant.
I work in a start-up as an Android developer and we were looking for our first iOS developer.
After two months searching, some guy was finally hired last week.
My boss already told me he didn't have my programming level, but we needed him because he had experience as community manager and good Photoshop skills, and right now we need a profile like that in our company.
Today the new guy asked me what are setters and getters.
How fucked is my company? Is there hope for us?9 -
Working on a project with 2 other students. One of them makes a C# "super class" with 50 fields, and manually creates getters and setters for each and every one. Then he proceeds to write a constructor that accepts 50 parameters, because why not.
I comment on the git commit, telling him that he can just write " get; set; " in C# and that he should model the problem in smaller, more manageable classes ( this class had 270 lines and did everything from displaying data to calculating stuff). Tried to explain to him that OOP works kind of differently from how he did it.
....
His answer: "Yeah, I don't really care. If it works once, it's okay for me".
This after the most beautiful code review I have ever done...
Fml8 -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
Today I had a programming exam
We had to read a request, write uml, use case etc...
I think "it's going to be easy!"
Than I remember that for some unholy reason we use java7
Than I remember that the keyword to automatically add getters and setters was added in java10
Had to write getters and setters by hand, on a piece of paper, for 5 classes...
I hate my university, we are Information Engineering that is the closest thing we have to Software Engineering in my city and we still do our programming exams on paper, that doesn't test your ability to program, but your ability to learn a load of information by memory9 -
When someone tries to generate getters and setters in C# as if it was Java, you may think: "He is starting!"... And then you ask: "How long have you been working with C#?"
Surprising answer: "1 year" 😱
What have you been doing till now?6 -
So, learning Java at the moment.
Thoughts so far:
“This IDE is going to make me so lazy! It can write getters, setters, AND toString() for me?!”
“Oh my god, angle brackets. It’s like someone with a love of nesting was made fun of for wasting space and retaliated by crafting a language that inlined nesting data types.”
“Whoa, this would safeguard what kind of input went into the function SO MUCH.”
“DOES THIS MAKE IT EASIER TO WRITE UNIT TESTS?! *excited*14 -
Gotta love kotlin!
@osiris1337 the refactoring is going great
I had a 80 lines long model class with all the getters and setters and Parcelable interface implemented
and all of that converted to kotlin like this
@-psr another reason, small and readable code ^_^1 -
The worst question was asked by me once. At least I guess it must have been the worst question for an applicant. She applied for a job as Ruby dev and gave her knowledge of the language a solid 5 Star rating. Something I wouldn't give myself unless my name is Mats. So I prepared some really nice questions about metaprogramming and the object model and stuff. As a warm-up I decided to go easy on her and asked her something simple: "how do you define getters and setters in Ruby?" Which is like one of the first things you learn but not too simple. She got a really red face and told me she didn't know. In the end I had to learn that she never even really programmed Ruby but only wrote some method calls in a file she named .rb and she didn't even know what an object was m(5
-
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
-
The first time I've used JPA and Lombok annotations and suddenly didn't have to bother about getters and setters anymore and pretty much persisted my whole data tables with no effort.
Total game changer for me. -
PM tells me to merge (large feature) work that's heavily under WIP.
In that is a performance optimisation he instructed (with an aggressive DM) me to stop looking at even though it's a concern for larger clients that I had to fix before as it's "unnecessary" - thought whatever I'll leave the code as is then
I tell him him the PR is not ready yet, there is still a lot of clean up to and tests to write
Just do it
A ~week later "wow you write really selfish code like look at this"
Shows a wrapper class from the optimisation with 2 properties and getters and setters (and override some of super's properties). I explain to him why it's there, "that should have been a comment". I tell him I write detailed comments as part of my refinment process which he wanted me to stop.
This is after he tried to merge a release branch into main while sneaking in some "corrections" and I pointed out it breaks Dev.1 -
"There is a reason that we keep our variables private. We don’t want anyone else to depend on them. We want to keep the freedom to change their type or implementation on a whim or an impulse. Why, then, do so many programmers automatically add getters and setters to their objects, exposing their private variables as if they were public?"
-Uncle Bob, Clean Code.1 -
I prefer it doing 2 tasks parallely during the initial phase of requirement gathering and design phase.(makes more sense if you are working extremely new system and framework)
1. Keep collecting requirements from clients and understand them.
2. Collect different designing aspects for the project and parallely, build a POC for 2 purpose: to get hands into the new Framework and also as a demo to clients. Working on POC helps in 3 ways: Improving understanding of requirement, improving framework knowledge, and playing around with code whenever bored of designing and reading tons of existing designs..
3. Once primary requirements are clear and fixed, analyse all different designs, if possible I setup meetings with senior devs, principal engineers (they help a lot when it comes to reviews on scalability and reliability of a design)
4. The above design is mostly architectural level. Once design is fixed, then I start taking each component and prepare a detailed implementation design. (Notice that whenever I am bored of designing, I spend sometime in building POC)
5. In detail design, I focus on modularity and flexibility. Anything defined should have getters and setters for example. This will help you reuse your code. Keep the interface between components in your design as generic as possible, so that in case your MySQL is change to Postgre or NoSQL, your design should be able to adapt new features..
6. Instead of building entire project, define feature targets and deliver small features.. this will help you to be in line with the requirements with minimum deviation. -
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 -
Anyone else here who really enjoys writing pure functions or domain classes?
It's so amazing to be able to write dependency-less classes that have such simple, elegant logic and sometimes just a bunch of getters and setters. Pure functions with type hints are also one of my favorites.1 -
That moment when you decide to build clean code and declare every variable as private or protected but then you have to change that later on anyways to public again because you're to lazy to create setters and getters.... :/2
-
!rant
Woow I am amazed. Just started learning c# in combination with Unity and I am already loving it. It is much like Java so for me it is easy to understand and it works increddibly well with callbacks and getters / setters!1 -
Java Background "Use interfaces for model classes"
We should basically write the getters and setters in an interface. Programming against interfaces is a pracitct that is undisputed a must. But using interfaces for your model class c'mon. -
If you find a programmer that uses getters() and setters() without any complex logic inside them, you should burn him/her/whatev with the strength of a thousand suns.19
-
Why in the world does xcode not have automatically generated constructors, getters and setters while android studio has them 😓3
-
Getters and setters vs property accessors?
The instructor of my Android development class is manually and purposefully using setters and getters when the Kotlin language and Android Studio is strongly pushing for this property accessor way of handling private data fields. He says that it goes against the philosophy of hiding the data and keeping data fields private.
I’m all for property accessors, but I’m struggling to come up with a response for what he says. Modern programming languages like Kotlin and Swift have been strongly encouraging the use of property accessors.8 -
That dude fresh from learning getters and setters in Intro to OOP calling your SOLID design unnecessary complicated
-
I'm learning C#, and the whole properties thing with get; and set; is weirding me out... So many unnecessary mistakes could be made by accidentally using = instead of ==...13