Almost as good as a sabotage. Lines of code metric is no different to someone talking a lot and doing little work, very likely counter productive and a big problem. Leave the good quality stuff to open source while big tech take it and do their best to “embrace, extend and extinguish”.
Lines of code should be on the balance sheet as liabilities, not assets
So, code golf?
Want to make tons of lines of code from pretty normal code?
Just unroll your fixed size for loops (i.e. convert them into multiple copies of their contents, one after the other as many times as that loop would loop).
You can actually automate it and in fact some compilers will do that when generating assembly for some microprocessor architectures (if the loops aren't crazy big) because it increases performance in those (because the JMP instruction at the end of the loop is quite expensive).
LOC is a terrible metric. The worst programmer I ever had work for me had the highest LOC of anyone on the team, and his code was crap that barely worked.
Is this why so many of these fuckheads are keen on LLMs? They're great at vomiting out reams of code.
My biggest objection is unit tests. LLMs can actually be a useful tool for populating out unit tests. But of you let them run amuck, you get vast quantities of tests that add no value but now you have to maintain in perpetuity
This one junior developer didn’t notice the ai brought in a whole new mocking tool for a few tests and didn’t understand my objection.
Relying on a chance machine to thoroughly test your code sounds like a recipe for disaster
LLMs can actually be a useful tool for populating out unit tests.
My experience with this is the LLM commenting out the existing logic and just returning true, or putting in a skeleton unit test with a comment that says "we'll populate the code for this unit test later".
I had a dev add a load of unit tests that mocked values and then tested for the mocked values. I mean... They passed...
With emojis in it for extra flair!
A few posts up was a meme about Arch linux updates having a net negative file size :)
In my project there has been this guy who produced more lines of code than most other. All of his code is a terribly convoluted mess no one can work with. Also buggy and slow as hell. It’s been many years since he left the company, and the negative effects are still seen today.
Luckily we’ve been able to detach ourselves from the worst parts.
It reminds me of the quote, "if I had more time I would have written you a shorter letter". Terse code is often better, because it is often developed using a process that only adds necessary things or was created by trial and error during the development process that isn't included in the final output.
Lengthy code is often written because a person coded their misunderstandings, their ambiguities about the problem space, and their early failures at solving the problem into the code.
True. However, in this case I believe this guy just had a weird admiration for complexity.
Complexity or “complexity”? A couple months ago I had to accept a merge from a junior developer that is now flagged as the code with the highest complexity in my code base. It was in Groovy and he must have just discovered closures. Instead of breaking up the code in nice modular testable blocks, it was massive methods hundreds of lines long, and the most egregious use of closures
Not necessarily closures, but it involved many dynamically generated lists of lambdas passed around through many layers of abstraction.
When I was stuck with that, my rebellion was to widely announce all my merges with negative line of code. Let them try to challenge that publicly.
Of course my current gig is new features generating positive lines of code but the new stupid metric is how much did the ai add. So far I’m losing that battle. Making me more efficient? No, so far ai is doubling the amount of time I’m stuck code reviewing junior developers
My favorite part of Junior devs is that if you tell them in a code review comment to never do that again, they usually won't.
My least favorite part of AI is that it is convincing the jr devs to ignore me, leading to a lot of pain for them when they get sent to the doghouse for writing production destroying garbage.
And my least favorite side effect of AI is that thanks to all the garbage ai-driven devs churning like a boiling sea, companies aren't building bases of competent jr devs that will eventually be senior devs anymore, because the good ones are getting lost in the noise.
AI generated commenting? Idk I've never coded anything beyond modifying powershell scripts
It could probably do a decent job generating those scripts, given adequate prompting and a few cycles of feedback from you. But it’s almost never a final result. It’s still on you to know what it’s doing and whether it meets requirements, whether it’s sufficiently performant and scalable, whether it’s resilient and flexible. Most importantly it’s up to you to ensure good quality that future you can read and maintain.
I’ve never had to code professionally, but even on my personal projects, I don’t want a single extra line in the program that doesn’t need to be there and I should be able to understand the purpose of every line years later.
My eyes glaze over whenever I look at corporate code because there are so many moving parts at that scale all from different qualities of programming.
I don’t know if this is a practical thought, but I really wish we could get away from every project being monstrously sized. I prefer small packaged ideas similar to terminal commands. Just because it has a GUI doesn’t mean you need to design every piece of software as if I’m going to spend a day in it. Just give me small, purpose-built tools I can understand and then stop eternally developing and adding features.
To add to this, it seems that every company now either makes one piece of software or 36 different softwares. If they make one piece of software, they endlessly pack it with features people don’t want and if they’re the latter, every piece of software is a hastily-cobbled-together half idea and they just move onto another piece of software. Is there really not a middle ground here?
I kinda agree with your first point, but AI assistance is so incredibly powerful that it's foolish not to use it, unless you're working on some really important logic. And even then, having an AI skim for common mistakes, inaccuracies or inefficiencies is still very valuable.
And what you're describing is really "Unix philosophy" and I strongly agree with that. Make a piece of software that does its one thing really well, and have it communicate with a simple API (POSIX).
In Unix/Linux you generally just "pipe" one program's output into another program's input, and can chain them virtually infinitely.
I love folklore.org. A long time ago when I was a lowly junior engineer, I read that story about Burrelll Smith and the mustache. So I grew a beard and got a promotion and raise the next week. Had a beard ever since.
I look forward to X, Tesla, and SpaceX switching to Windows (and permanently fucking off)
What? Did I miss something?
Yep, Grok is probably already working on it, or at least getting people excited about it...
Mildly Infuriating
Home to all things "Mildly Infuriating" Not infuriating, not enraging. Mildly Infuriating. All posts should reflect that. Please post actually infuriating posts to !actually_infuriating@lemmy.world
I want my day mildly ruined, not completely ruined. Please remember to refrain from reposting old content. If you post a post from reddit it is good practice to include a link and credit the OP. I'm not about stealing content!
It's just good to get something in this website for casual viewing whilst refreshing original content is added overtime.
Rules:
1. Be Respectful
Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.
Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.
...
2. No Illegal Content
Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.
That means: -No promoting violence/threats against any individuals
-No CSA content or Revenge Porn
-No sharing private/personal information (Doxxing)
...
3. No Spam
Posting the same post, no matter the intent is against the rules.
-If you have posted content, please refrain from re-posting said content within this community.
-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.
-No posting Scams/Advertisements/Phishing Links/IP Grabbers
-No Bots, Bots will be banned from the community.
...
4. No Porn/Explicit
Content
-Do not post explicit content. Lemmy.World is not the instance for NSFW content.
-Do not post Gore or Shock Content.
...
5. No Enciting Harassment,
Brigading, Doxxing or Witch Hunts
-Do not Brigade other Communities
-No calls to action against other communities/users within Lemmy or outside of Lemmy.
-No Witch Hunts against users/communities.
-No content that harasses members within or outside of the community.
...
6. NSFW should be behind NSFW tags.
-Content that is NSFW should be behind NSFW tags.
-Content that might be distressing should be kept behind NSFW tags.
...
7. Content should match the theme of this community.
-Content should be Mildly infuriating. If your post better fits !Actually_Infuriating put it there.
-The Community !actuallyinfuriating has been born so that's where you should post the big stuff.
...
8. Reposting of Reddit content is permitted, try to credit the OC.
-Please consider crediting the OC when reposting content. A name of the user or a link to the original post is sufficient.
...
...
Also check out:
Partnered Communities:
Reach out to LillianVS for inclusion on the sidebar.
All communities included on the sidebar are to be made in compliance with the instance rules.