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 - "maintainability"
-
I'm happy the announce the official devRant bug/feature suggestion tracker, now on GitHub!
It just went live, and you can find it here: https://github.com/devRant/devRant
Going forward, please use that issue tracker for all bug reports and feature suggestions. We decided to move bugs/features reports to GitHub because we've had a lot of people tell us they'd prefer that method since it makes tracking issues easier, and we also think it will improve searchability and maintainability of current bugs and feature suggestions.
Since we're starting from scratch with it, if there's a bug/feature that you're interested in submitting, and it's not already there, then please go ahead and add it! Even if it's been suggested before in a rant, we want to get them in the GitHub issue tracker, so please add it there too.
Feel free to let me know if you have any questions, and we hope this new method makes it easier to see what bugs we're working on fixing and makes it easier to see and discuss possible new features!46 -
Sad story about refactoring.
Programmer: I cleaned up the codes, extract reusable methods, reduced repetitive code and improve overall readability and maintainability.
Manager: why the page still display the same.
Programmer: ...7 -
Just my $.02:
One thing I think a lot of students/schools miss when learning/teaching, is that your code has to be *maintainable*. Your code is (hopefully) going to be used for a long time, so program it to make it not only easy to upgrade and maintain, but easy for SOMEONE ELSE to upgrade and maintain, too.
The best code to work with is the stuff that's been coded with maintainability in mind.14 -
A nice word to all developers who say stuff like "I know I write bad code, but what does it matter.":
Please try to think in a logical way about what this part you are about to write has to do. It is much more difficult to rewrite code, the longer you wait after you started to code.
Bad code can have big impacts on different levels.
For example financially: Bad coding style or program structure can lead to thousands or much more in losses because of nasty bugs, bad performance, expandability or maintainability.
Think about quality over quantity.
A little example: I had to work together with other coders to meet a fucking tight deadline. The last day we coded like crazy and these dudes started to apply styling changes (CSS) directly as inline styles to the HTML code, instead of taking a few minutes more to find where in the CSS files they had to make the changes.
At the end of the deadline we had more stylingbugs than before. It took us another whopping 3 hours to fix what they had done.
So next time you code: Thinking before coding is mostly faster than just straightahead coding and fixing at the end. 😉2 -
Been reviewing ALOT of client code and supplier’s lately. I just want to sit in the corner and cry.
Somewhere along the line the education system has failed a generation of software engineers.
I am an embedded c programmer, so I’m pretty low level but I have worked up and down and across the abstractions in the industry. The high level guys I think don’t make these same mistakes due to the stuff they learn in CS courses regarding OOD.. in reference how to properly architect software in a modular way.
I think it may be that too often the embedded software is written by EEs and not CEs, and due to their curriculum they lack good software architecture design.
Too often I will see huge functions with large blocks of copy pasted code with only difference being a variable name. All stuff that can be turned into tables and iterated thru so the function can be less than 20 lines long in the end which is like a 200% improvement when the function started out as 2000 lines because they decided to hard code everything and not let the code and processor do what it’s good at.
Arguments of performance are moot at this point, I’m well aware of constraints and this is not one of them that is affected.
The problem I have is the trying to take their code in and understand what’s its trying todo, and todo that you must scan up and down HUGE sections of the code, even 10k+ of line in one file because their design was not to even use multiple files!
Does their code function yes .. does it work? Yes.. the problem is readability, maintainability. Completely non existent.
I see it soo often I almost begin to second guess my self and think .. am I the crazy one here? No. And it’s not their fault, it’s the education system. They weren’t taught it so they think this is just what programmers do.. hugely mundane copy paste of words and change a little things here and there and done. NO actual software engineers architecture systems and write code in a way so they do it in the most laziest, way possible. Not how these folks do it.. it’s like all they know are if statements and switch statements and everything else is unneeded.. fuck structures and shit just hard code it all... explicitly write everything let’s not be smart about anything.
I know I’ve said it before but with covid and winning so much more buisness did to competition going under I never got around to doing my YouTube channel and web series of how I believe software should be taught across the board.. it’s more than just syntax it’s a way of thinking.. a specific way of architecting any software embedded or high level.
Anyway rant off had to get that off my chest, literally want to sit in the corner and cry this weekend at the horrible code I’m reviewing and it just constantly keeps happening. Over and over and over. The more people I bring on or acquire projects it’s like fuck me wtf is this shit!!! Take some pride in the code you write!16 -
"I strive for code quality and maintainability. I actually do. And i will not work for a company that does not care about it and just wants something done as fast as possible.
The only time i will do something quick and dirty is if it's actually urgent. And even then with one condition - my next task will be to fix it properly.
I do not care about your deadlines. I will do my best to meet them, but not at the expense of code quality. I've seen too many projects fall into technical debt, where productivity is so low, that the only way to move forward is hire more people and start working on a project 2.0
And please do not lie about how great your company is, if it's not. These kind of things surface very soon, and you will have wasted both of our time, because as i said - i will not work for a company that does not care about code quality."
you think i'll ever get a job again if i put this on my CV ? :D10 -
My friend was approached by a client who insisted that his website should be in WordPress to facilitate future maintainability.
That's how y'all end up having to maintain those awful pieces of mess. Blame the client, not the developer.7 -
"Older versions are more stable"
The whole concept of LTS in development pisses me off.
Delayed upgrading, whether it's the language itself, dependencies or tooling, does just one thing: It makes future upgrading way more difficult, often to the point where the company eventually runs into this maintainability wall, and gets stuck in old, unsupported versions.
"But... stability!" — The tiny chance that the newer version has such serious stability regressions that it negatively impacts your own product doesn't weigh up against the clusterfuck you fall into if you push the task too far into the future.
You can relatively easily assess a new major language version using benchmarks and unit tests. Predicting the repercussions of staying on PHP 5.4 or Python 2.7 for another year, predicting the impact of upgrading the codebase later, that is almost impossible.
I'm not saying you should live on the bleeding edge in production, but as soon as a new stable version of a core technology is released, just fucking drop everything you're doing and port those deprecated methods!7 -
In an unexpected turn of events, it appears as if years of choosing fancy bullshit over code maintainability will cause said fancy bullshit to eventually break and no obvious way to fix it. There's no way anyone would have seen this one coming.3
-
(New account because my main account is not anonymous)
Let's rant!
I'm 3 exams away from my CS degree, I've chosen to do some internship instead of another exam, thinking was a great idea.
Now I'm in this company, where I've never met anyone because of pandemic. A little overview:
- No git, we exchange files on whatsapp (spicy versioning)
- Ideas are foggy, so they ask for change even if I met their requirements, because from a day to another they change
- My thesis supervisor is not in the IT field, he understands nothing
The first (and only) task they gave me, was a web page to make request to their server, fetch data etc.
Two months passed trying to met their requests, there were a lot of dynamic content changin on the page, so I asked if I could use some rendering framework to make the code less shitty, no answers.
I continued doing shitty code in plain JS.
Another intern guy graduated, I've to mantain his code. This guy once asked me "Why have you created 8 js modules to accomplish the web page job?", I just answered saying that was my way of work, since we're on the same level in the company I didn't felt to explain things like usability, maintainability etc. it's like I've a bit of imposter syndrome, so I've never 100% sure that my knowledge is correct.
Now we came at the point where I've got his code to mantain, and guess what:
900 lines of JS module that does everything from rendering to fetching data..
I do my tasks on his code, then a bug arises so the "managers" ask him what's happened (why don't you ask to me that I'm mantaing is code!?!?), he fixes the bug nonetheless he finished his intership. So we had two copies of the same work, one with my job done and still with his bug, and another one without my work and without the bug.
I ask how to merge, and they send me the lines changed (the numeration was changed on my file ofc, remember: no git...)
Now we arrive today, after a month that they haven't assigned any task to me and they say:
"Ok, now let's re-do everything with this spicy fancy stunning frontend framework".
A very "indie" Framework that now I've to study to "translate" my work. A thing that could be avoided when I've asked for a framework, 2/3 MONTHS AGO.1 -
Got rebuked by the Java teacher today at the University for using proper long names for variables in the code. She though I was just wasting time being lazy in the lab. "If something can be achieved by a single character, why type that long variable again and again?". *Everyone in class laughs*
Then, there was an error in my code [turned out to be long long int in Java is weird], and I had no clue what was going wrong [I'm a week old in Java]. So, I had initially called her to help. She made me change all private methods and attributes to public. When asked "why?", got trolled again.
Now, I know it's okay, and not that I really care about what my classmates think of me, but getting this kind of treatment really sucks. And if this is how future software developers are crafted today, maintainability is surely going to be an issue tomorrow.
Maybe staying in this stupid country was my worst career choice. I should have tried harder and gone abroad.11 -
I never thought clean architecture concepts and low complicity, maintainable, readable, robust style of software was going to be such a difficult concept to get across seasoned engineers on my team... You’d think they would understand how their current style isn’t portable, nor reusable, and a pain in the ass to maintain. Compared to what I was proposing.
I even walked them thru one of projects I rewrote.. and the biggest complaint was too many files to maintain.. coming from the guy who literally puts everything in main.c and almost the entire application in the main function....
Arguing with me telling me “main is the application... it’s where all the application code goes... if you don’t put your entire application in main.. then you are doing it wrong.. wtf else would main be for then..”....
Dude ... main is just the default entry point from the linker/startup assembly file... fucken name it bananas it will still work.. it’s just a god damn entry point.
Trying to reiterate to him to stop arrow head programming / enormous nested ifs is unacceptable...
Also trying to explain to him, his code is a good “get it working” first draft system.... but for production it should be refactored for maintainability.
Uggghhhh these “veteran” engineers think because nobody has challenged their ways their style is they proper style.... and don’t understand how their code doesn’t meet certain audit-able standards .
You’d also think the resent software audit would have shed some light..... noooo to them the auditor “doesn’t know what he’s talking about” ... BULLSHIT!9 -
"How much of a dev are you, if you use other peoples work and just glue it together?" I once asked a friend who really loves npm and everything.
I know about code reuse and maintainability and all that but geez we had a long discussion..😅5 -
All those website builders, tools and frameworks were designed to make tech illiterate people be able to create websites, so how fucking dense are all those people that publish jobs to create a website with a literal click & drag tool or website builder?!
Example: http://grapesjs.com/ is very popular amongst those searching - though this seems would have to be published manually after creating it, so I would understand help with publishing, but theres websites also mentioned like squarespace, which has seriously no excuses besides being that lazy and forcing somebody to chew it for you
I see maintainability of the website later on of course as a handy argument for them to use those kinda tools and websites, but what do you need somebody to do it for you from the start, if you plan on later then manage it the same way?4 -
4 months into the journey at an ambitious streaming startup we, a team of 10 engineers (primarily full stack), sets up a tiny and performant express.js api setup.
We document plans for improving the maintainability, including outlining specific practices (not very different from general node best practices) that need to be followed for all new development.
Enter a new engineering manager (dedicated backend manager), henceforth referred to as S, with a rat face and brain that belongs in a rat hole.
Week 1:
S: let's push this new feature out asap
Dev: it'll need a couple of weeks to get done right
S: let's push out a functional version tomorrow, and revamp in the next iteration
Dev: ... (long pause) there's documented practices specifically directing against this
S: can you not do it by tomorrow
Dev: not if it needs to be done right
S: all you need to do is.. (simplifies changes spanning 5 modules into a 3 line summary)
Dev: yes, (outlines how each changes chains into the others, and how to keep the development maintainable for atleast a few months)
S: (interrupts every sentence saying "yes dev, I understand, yes yes")
Dev: could you please tell me how you expect me to connect (outlines two modules that would fail unless developed as standalone services)
S: Yes dev, I understand, yes yes. I don't have much experience with Node.js, so I can't tell you that.
Dev:
<_<
>_>
O_<
Our.. entire.. backend.. stack.. is.. Node. (Months of motivation, cultivated through hard work over late nights, dies inside)
I need a J and some sleep.6 -
After this weekend's work with React and Material UI, I started thinking about the downsides to going that route (particularly social media sharing & SEO). The obvious solution is to render server-side, but then you have to ask yourself...is there really a benefit to all of this, or are we just coming full-circle and pretending this is better? I'm all for something that improves maintainability, performance, and reliability, but I feel the more I try to keep up with the latest fads, the slower I work, the more compiling and caching b.s. I have to deal with, and the less I trust the final product to "just work". Anyone else feel this way?4
-
Hey everybody been a while but I have a rant. Swift fucking swift and IOS dev. Okay so been learning swift for some frontend casual work, no worries they are lending me a mac to work in.
Now comes the rant part IOS is fine to work in I dont have any qualms about platform but.. FOR THE LOVE OF COMMON FUCKING SENSE GET SOME FUCKING CONSISTENCY.
You have made swift statically typed language to supposedly make developing more consistant and better fine no worries i dont like static typed languages cause they are unnecessary but fine. then you go NAH FUCK IT EVERYTHING IN A MODULE IS IN GLOBAL SCOPE, FUCK IMPORT STATEMENTS, FUCK MAINTAINABILITY AND FUCK YOU FOR ASKING.6 -
I hate React. I keep reading that people have problem of grasping it, but that's not the case for me. I get it, I understand it, but I hate with passion HOW it's done knowing how nice it's done elsewhere. What really triggers me is how ugly it looks, both from architecture and code level. To me it really say a lot when even code shown in documentation looks ugly, and while reading it you ask ourself constantly "why it's done this way?". When I read React being called an "elegant" solution something explodes in me. Did you saw Svelte? Vue? Damn, even Alpine.js?
I just cannot how overengineered this API is. Even doing simplest things there produces so much junk code written only because this is what library requires. Why? I feel like working with it is a punishment.
And scalability and maintainability? I've never seen large-scale projects more messed up than those wrote with React. And yes, you can blame teams working on them for lack of skills, but it is the library which encourages or not good practices also, and I've never seen such bad situation with other libraries/frameworks.8 -
Any code should be simple and easy to read / understand.
I just reworked an old stored SQL proc.
Went from 102 lines to ... 10.
More I code, more I realize that maintainability, readability, comments and unit tests are more important than actual code. (And performances ofc. But if 1 line code does it in 1 second and 500 lines code in 0.2 seconds, I’ll take one line solution every time)5 -
Who needs clarity and maintainability when you can have the adrenaline rush of debugging spaghetti code? 💻🦸♂️2
-
I just got out of the office late and in a hurry to catch the train. I was in the zone dude, I was in it. I made an huge maintainability improvement on a framework I've worked on during the last year.
I fucking forgot to push and I'm in data corruption/laptop thievery anxiety 😥😥😥😥2 -
Have to write ugly ass wrapper classes around a third party dependency since my team can't be bothered learning its vocabulary. A vocabulary which is very well thought and self-consistent. Apparently, defining our own which is only occasionally more descriptive is preferred. It's already collapsing under the weight of its own maintainability cost. And, if someone joins the team that knows the dependency they are fucked anyway as they'll have to use our wrappers.
Time and time again I've tried to oppose this move on several different merits: maintainability chief amongst them, but no one listens to the lowly new hire.
I should just pipe my thoughts to /dev/null and save my breath...2 -
I feel like some developers focus too much on concepts like clean code, software craftsmanship, TDD and so forth, to a point where they almost forget end user needs (ease of use, intuitive experiences, general UX principles).
Don’t get me wrong. I do my best to stick to a decent standard of quality and maintainability. However my solutions are adapted to the specific needs that are being addressed rather than the other way around.
I’ve heard some devs say things to the effect of ”well I know that’s not most intuitive behavior for the user but it’s the cleaner way to do it, so the user will just have to figure it out“. So in essence they’re just coding for their own pleasure rather than addressing user needs4 -
Once took over a bunch of webservices from a coworker who had found another job.
Worst bunch of copy-pasted, anti-pattern, duplicates-ridden, dead-code infected spaghettimess I ever saw.
I spent a year getting that shit into a semblance of order. You could tell for certain the guy had no professional pride or sense of maintainability.
The kicker is, after that year of getting everything in shape, I got laid off due to cutbacks.
'Hey, great work, Refactor Ninja!
Now leave, you must be needed elsewhere!'
🙄 -
You can comply with all the principles of clean architecture, but there will always be room for improvement in both performance and maintainability. The question you should ask yourself is when a software is ready to go into production6
-
It's really sick how beginners start to code in Javascript and CSS, and their complex frameworks, without even understanding atleast the paradigm first. Googling your way up can be fine for smart ones, but as least time optimal this learning method sounds, it's as dangerous and non-productive too.
Also once project gets to a certain level, it's practically impossible to revisit and refactor old codes in front-end languages which kills the maintainability. Views?3 -
one of the most annoying things about our system at work is that we're constantly updating broken links because we're in the process of updating a lot of legacy code. there's this one service to retrieve links for a module, but half the links in the legacy code are hard-coded strings anyway, so the whole thing is just a huge maintainability disaster. anyone ever come up with any interesting solutions for managing links between modules?1
-
I'm at a bit of a loose end here, I'll do my best to explain and I hope it all makes sense.
I'm trying to find a way to wrap a C++ Console App in a C# Class so I can use the C++ App as a library within the C# app rather than triggering the C++ exe and providing a command to it.
The reason why I wish to do it this way is for maintainability, so I can make changes to the C++ app without affecting the C# App.
I've been looking at tutorials and stack overflow to see if's its possible, but for someone with learning difficulties, I'm struggling to find the right path to take as I'm seeing conflicting info.
Any help would be greatly appreciated, Thanks in advance5 -
Sydochen has posted a rant where he is nt really sure why people hate Java, and I decided to publicly post my explanation of this phenomenon, please, from my point of view.
So there is this quite large domain, on which one or two academical studies are built, such as business informatics and applied system engineering which I find extremely interesting and fun, that is called, ironically, SAD. And then there are videos on youtube, by programmers who just can't settle the fuck down. Those videos I am talking about are rants about OOP in general, which, as we all know, is a huge part of studies in the aforementioned domain. What these people are even talking about?
Absolutely obvious, there is no sense in making a software in a linear pattern. Since Bikelsoft has conveniently patched consumers up with GUI based software, the core concept of which is EDP (event driven programming or alternatively, at least OS events queue-ing), the completely functional, linear approach in such environment does not make much sense in terms of the maintainability of the software. Uhm, raise your hand if you ever tried to linearly build a complex GUI system in a single function call on GTK, which does allow you to disregard any responsibility separation pattern of SAD, such as long loved MVC...
Additionally, OOP is mandatory in business because it does allow us to mount abstraction levels and encapsulate actual dataflow behind them, which, of course, lowers the costs of the development.
What happy programmers are talking about usually is the complexity of the task of doing the OOP right in the sense of an overflow of straight composition classes (that do nothing but forward data from lower to upper abstraction levels and vice versa) and the situation of responsibility chain break (this is when a class from lower level directly!! notifies a class of a higher level about something ignoring the fact that there is a chain of other classes between them). And that's it. These guys also do vouch for functional programming, and it's a completely different argument, and there is no reason not to do it in algorithmical, implementational part of the project, of course, but yeah...
So where does Java kick in you think?
Well, guess what language popularized programming in general and OOP in particular. Java is doing a lot of things in a modern way. Of course, if it's 1995 outside *lenny face*. Yeah, fuck AOT, fuck memory management responsibility, all to the maximum towards solving the real applicative tasks.
Have you ever tried to learn to apply Text Watchers in Android with Java? Then you know about inline overloading and inline abstract class implementation. This is not right. This reduces readability and reusability.
Have you ever used Volley on Android? Newbies to Android programming surely should have. Quite verbose boilerplate in google docs, huh?
Have you seen intents? The Android API is, little said, messy with all the support libs and Context class ancestors. Remember how many times the language has helped you to properly orient in all of this hierarchy, when overloading method declaration requires you to use 2 lines instead of 1. Too verbose, too hesitant, distracting - that's what the lang and the api is. Fucking toString() is hilarious. Reference comparison is unintuitive. Obviously poor practices are not banned. Ancient tools. Import hell. Slow evolution.
C# has ripped Java off like an utter cunt, yet it's a piece of cake to maintain a solid patternization and structure, and keep your code clean and readable. Yet, Cs6 already was okay featuring optionally nullable fields and safe optional dereferencing, while we get finally get lambda expressions in J8, in 20-fucking-14.
Java did good back then, but when we joke about dumb indian developers, they are coding it in Java. So yeah.
To sum up, it's easy to make code unreadable with Java, and Java is a tool with which developers usually disregard the patterns of SAD. -
I earned the title of "sql king" due to the complexity of the sql I write (not proud of that because it makes maintainability hell) . It's pretty cool except sometime I feel like I can write shit code and ship it to production just because none can review my code properly or rather spend enough time understanding it,
basically I am not challenged enough...
What do you guys do if you are not challenged or bored ?
Never contributed to an open source but it might be the solution4 -
The debate between using tabs or spaces for indentation in code is a long-standing argument among software developers. Those who prefer using tabs argue that it takes up less space and is more efficient, while those who prefer spaces argue that it allows for more consistency and easier readability.
Many developers have strong opinions on this issue and believe that their preferred method is the only correct one. Some even go as far as to say that using the wrong method can negatively impact their ability to work with the code.
Regardless of which side of the debate someone falls on, it's a common source of frustration and humor among developers. The argument often devolves into jokes and sarcastic comments, with both sides poking fun at the other's preferred method.
Despite the often lighthearted nature of the debate, it highlights the importance of code readability and maintainability, as well as the differences in personal preferences and workflows that can arise within the tech community.19 -
There’s somewhat of a magical moment when you teach the interns how to turn their huge switch statement into a function Pinter branch table....
Eliminating shotgun surgery as the project advances and new features are added to a module.
Colleges definitely don’t teach students certain things... and when I end up teaching them... the excitement and ideas they come up with are always great.. and they always end up with a stronger understanding of things.
(Embedded company .. all software here is C or C++) yes we use the optimizer.... sometimes you gotta do seemingly complex things to improve readability and maintainability. -
I looked at a PR for some work a dev agency is doing for us. For some reason, the dev directly modified css rules instead of making updates to the SCSS files and running the compiler. WTF. I asked why and isn’t the compiler working. Just got an answer saying that was his mistake. That’s not a mistake, but that’s idiocy I’m sorry. Dev agency is supposed to be doing code reviews too, but I’m pretty sure they would have merged that. We have another repo where the same thing happened—only it was dozens of lines of code instead of one or two. Luckily that repo doesn’t get many new feature requests, but I do have to selectively pick lines to commit whenever I make style updates. It’s a nightmare. I know it must be hard to jump into a code base you’re not familiar with and there might not be dev docs, but for the love of god don’t make maintainability a nightmare. I shouldn’t have to be a babysitter. Bet they’re regretting that added me as a reviewer for the PR.7
-
What are your opinions of single file components in Vue? Will it actually help maintainability down the road for our codebase? Or do you think it’s better to separate the .js, .sass, and .vue?9
-
Working as a Dev for a while now, I tell new people not to bother with it. There is never any job satisfaction as people in charge never understand the basics.
Instead of learning to write efficient code, figure out how to solve real business problems, work towards a maintainable flexible product to quickly deliver value on changing requirements, write automated tests to improve quality, maintainability and prevent live issues - basically do anything a good Dev strives for - you will just constantly end up working for people with no interest beyond the next couple days, on a shit code base that no one can understand, with people that don't want to learn anything about software design and just check boxes off.
Apart from pay this must be the worst career possible in a technical field.4 -
When maintainability and proper design patterns do not equate to faster performance. The struggle is real.
-
Rust really needs an implicit Clone for lightweight operations like cloning an Rc, or a big fat warning sign at Copy telling programmers never to derive it for any custom type because if you ever have to remove it you will have to update every single occurrence of any value of your type.7
-
I dunno why but I'm sold by AWS and how anyone may start off on the right note when starting a "startup" project. A lot of IT folks I know have vouched for it as well. Maybe because I'm engineering graduate and I have put the costs and maintainability on top of the checklist. I even plan to take the SAA certification since it was also surveyed as one of top paying IT certs to get. But mostly I care about the stuff I can learn and rely on its ecosystem. Tell me something I should be wary about this cloud provider. Coz maybe I'm just too "sold" by the hype.1
-
Once upon a time I was working with an engineer who loved sed and awk a bit too much. We had data stored in SharePoint that was retrievable via an RSS feed. Said engineer insisted on using curl to grab the feed and sed/awk to parse the HTML ...
I on the other hand suggested using libcurl (primarily for NTLM auth support) and parsing the RSS feed using libxml.
Which engineer do you think management decided supporting?
Hint: Reusability and maintainability were big requirements in this project.1 -
I get why people like to split code in multiple files for maintainability but its a fucking nightmare if you want to understand code and you have to go from file to file to file to find the origin of 1 API-Call.1