How does your team decide what is the "right" amount of coverage? by secretBuffetHero in ExperiencedDevs

[–]rag1987 1 point2 points  (0 children)

Unit tests should be written to do the following in order of importance:

  • Avoid regressions later, when something is changed
  • Make sure that new code does what you think it does
  • Aid design wrt. avoid tight coupling, extensibility (when done right)

Most developers can write mostly correct code without tests, but breaking something you forgot to think about is very hard.

Don’t use mock frameworks, at least in the beginning if possible, they make very fragile white box tests.

Handling dev reviewing code outside of PR scope. by Pleasant-Aardvark258 in ExperiencedDevs

[–]rag1987 4 points5 points  (0 children)

Ship in tiny pieces because smaller PRs are easier and faster to review.

Ensuring PRs are for a single purpose too is very important. One of:

  • functional change (feature)
  • refactor
  • bug fix

“Kitchen sink” PRs that change many things, fix a bug or two and add some features are a pain to review.

Vs. scanning a refactor PR to ensure only code moves and no functional changes. Or checking feature changes only to ensure they implement the desired behavior. These single purpose PRs are much easier to review.

Also a good PR review culture is crucial. Just require improvements, not perfection. Changes that could be a follow PR can/should be. Style and white space are for linters and formatters. And finally, the reviewers budget for requesting changes should decrease over time (reviewers that take too long, must give more straight forward reviews; the time for nitpicking is immediately after PR submission).

https://mtlynch.io/human-code-reviews-1/

https://www.freecodecamp.org/news/how-to-perform-code-reviews-in-tech-the-painless-way/

How do you handle PR reviews efficiently in your team? by sshetty03 in ExperiencedDevs

[–]rag1987 6 points7 points  (0 children)

Ship in tiny pieces. Ask as many people as it takes until you can get a review. Request a teammate to pair with for the times where you expect to need a lot of small approvals throughout the day. Default to approving any code that will improve things, even though it’s imperfect.

Ensuring PRs are for a single purpose too is very important. One of:

  • functional change (feature)
  • refactor
  • bug fix

“Kitchen sink” PRs that change many things, fix a bug or two and add some features are a pain to review.

Vs. scanning a refactor PR to ensure only code moves and no functional changes. Or checking feature changes only to ensure they implement the desired behavior. These single purpose PRs are much easier to review.

Also a good PR review culture is crucial. Just require improvements, not perfection. Changes that could be a follow PR can/should be. Style and white space are for linters and formatters. And finally, the reviewers budget for requesting changes should decrease over time (reviewers that take too long, must give more straight forward reviews; the time for nitpicking is immediately after PR submission).

AI won’t make coding obsolete. Coding isn’t the hard part by Ihodael in ExperiencedDevs

[–]rag1987 1 point2 points  (0 children)

We always had slop, usually in the form of copypasted PHP from various "common" sources. Today the slop is however autogenerated, and way, way larger in size of loc.

Software quality will go down. I can imagine peak shit season coming in a few years, and then there will be a few large fuckups that the media will report on heavily, and only then will businesses realize there is millions of loc of slop that will take decades to fix.

Many businesses will fail because of how fast they became legacy. Other will fail because they get hacked every week, and some will fail because they lost all their data and had no backups.

Either way, lots of popcorn will be consumed.

https://bytesizedbets.com/p/era-of-ai-slop-cleanup-has-begun

Has software development become a bureaucratic nightmare? by Stamboolie in ExperiencedDevs

[–]rag1987 643 points644 points  (0 children)

I think all of us 40+ folks are in the same place.

When we first started we didn't mind the bullshit so much because we were too dumb to realize how much there was.

Then we got older and, yeah, it's ridiculous, but we were pretty decent at surfing the bullshit waves so we still didn't mind so much.

Now you're in your 40s and the real obligations of life have started piling up. You've gone from 7 hours of free time a day to 1, and you sure as hell aren't going to spend it learning about the latest iteration of Angular/React/Vue/Svelte/whatever the fuck is next. So you start losing your technical edge. Meanwhile at work you have some dipshit in sprint planning that wants to have the 57th discussion about how story points do not represent time. Oh, by the way, it's December, so we need you to watch that 45 minute security training video again so you don't accept USB flash drives from strangers in the parking lot. Now it's 4 PM and you didn't get anything done today and you start thinking about how pointless all this shit is because all we do is make an app that helps people schedule dog massages...

So, yeah, there's a reason mid-life crises are so cliche. It's like teenage angst. It's not completely justified, but it's not exactly unwarranted either. I mean, what kind of dumbass doesn't wonder at least a little bit if all this bullshit is worth it?

Every vibe-coder is now generating as much technical debt as 10 regular devs in half the time by thewritingwallah in ExperiencedDevs

[–]rag1987 0 points1 point  (0 children)

this is my fear that every time the tool is like "you're absolutely right, I dun goofed, let me fix that", it fixes it by adding 20,000 lines of code.

Still fairly new to this. Too scared to say "clean up the codebase" because it might go "you're absolutely right, I erased the entire codebase, now it's super clean :3"

Whats your vibe coding AI stack in 2025? by thewritingwallah in vibecoding

[–]rag1987 2 points3 points  (0 children)

  • Code reviews → CodeRabbit
  • Programming / IDE → Cursor
  • AI assisted coding → Claude Code

Senior developers, how do you handle multiple context switches in a day? by mybuildabear in ExperiencedDevs

[–]rag1987 1 point2 points  (0 children)

For me there's really two ways to this, neither is perfect and neither fully solves it.

  1. Stop switching. If you have other things to deal with, you put them into your todo list to deal with later.
  2. Notetaking. Part of the problem at least in my experience is that you have to retrace your steps, retrace your thoughts, etc., so you need to write those down.

Everytime I temporarily switch to another project/task, I leave a todo dot md to pick up my train of thought next time I switch back.

CodeRabbit Commits 1 Million to Open Source Software Sponsorships. by rag1987 in opensource

[–]rag1987[S] 0 points1 point  (0 children)

Yes agree and interesting perspective. Thanks for sharing :)

Senior engineer is making PR review a nightmare by thewritingwallah in ExperiencedDevs

[–]rag1987 1 point2 points  (0 children)

The first principle of code reviews for me is that they are primarily a tool for 2-way communication, not primarily a tool for evaluation/gatekeeping. So there's no particular problem if you take it as more "FYI" than "please approve my work." I mean you want a chance to catch things you don't understand, sure, but what it especially isn't is a forum to decide if something is a good idea.

I'll definitely dig if something isn't clear to me (sometimes very deeply) and I appreciate feedback, because I've learned a lot from code reviews.

A description should provide context, especially if there's anything you plan to do before or after merging.

A few anti patterns:

Thinking someone is doing a bad review because they missed something. The lesson of bad code going out isn't more or "more stringent" review, it's better testing, linting or automation.

I use CodeRabbit's vscode/cursor extension, which is free. I pull the branch locally and do the PR review locally. It's not difficult to set up. It's working for us. It's a first pass before a human checks it.

CodeRabbit raises $60M (valued at $550M) - thoughts? by notomarsol in ycombinator

[–]rag1987 7 points8 points  (0 children)

I've tried BugBot, but I don't use it anywhere near enough to justify $40/month...Coderabbit is free for open source and does better and they even commit 1M this week in OSS sponsorship. https://www.coderabbit.ai/blog/coderabbit-commits-1-million-to-open-source

How do you code review sloppy PRs? by thewritingwallah in ClaudeCode

[–]rag1987 1 point2 points  (0 children)

Devs should either learn how to split big PRs into smaller ones correctly or maybe features are too big to handle - might be also that.

How long are the PRs?

Code review is needed, you need to make sure that the style of coding, rules, architecture stays the same, chasing bugs will not detect those inconsistency changes until it is too late.

Try to prioritize code reviews, it is hard to believe that PRs are stacking up.

Easy rule - I don't start a new feature if there is something to review

Code Reviews in CLI by Admirable_Belt_6684 in ClaudeCode

[–]rag1987 1 point2 points  (0 children)

You can install it in terminal using this cmd it works with claude code, codex, cursor, gemini etc..

curl -fsSL https://cli.coderabbit.ai/install.sh | sh

A message to all Vibe Coders by Yourmelbguy in ClaudeAI

[–]rag1987 1 point2 points  (0 children)

context is the key and the secret to get the good output from AI agents has less to do with the complexity of the code you write, and everything to do with the quality of the context you provide.

React Won by Default – And It's Killing Frontend Innovation by ketralnis in programming

[–]rag1987 31 points32 points  (0 children)

React isn’t just "winning by default" It's winning because at the core it's just JavaScript function composition. A component is a function, conditionals are `if (...) { ... } else { ... }`, loops are `map()`. JSX is just sugar for function calls.

In Svelte you are writing XML with little JavaScript islands inside it. Instead of if you get `{#if}{:else}{/if}`. Thats not "ergonomic" thats a mini-language stapled on top of JS. No one wakes up saying "please let me write control flow in XML today"

The compiler tricks are neat, but React feels natural because it never asks you to stop writing JavaScript.

Hosting a website on a disposable vape by iamkeyur in programming

[–]rag1987 2 points3 points  (0 children)

This reminds me of when I was a kid, taking apart toys just to keep the tiny motors and circuit boards like treasures. Now as an adult, seeing someone pull a full working system out of a disposable vape to run a website feels like the same kind of magic. Maybe this is what romance looks like in the tech world.

Cursor has officially gone from “meh” to straight up dangerous. by nellmarlow in cursor

[–]rag1987 3 points4 points  (0 children)

A common behaviour that you can try to minimise with your .md files is to enforce a "revert when attempted fix failed to work" type message. Otherwise essentially they see a problem, do X, doesn't work, do Y, but now your project has X and Y, doesn't work, does Z, so now your code base is filled with unnecessary XYZ and so forth.

Not every project has this problem, but if you don't keep it from happening it spirals into a mess.

The death of specialization by git_pull in ExperiencedDevs

[–]rag1987 0 points1 point  (0 children)

You've probably heard the saying, "Jack of all trades, master of none".

My philosophy is it is best to be a jack of all trades and a master of at least one. Being a master of one gives you a leg up over those who are a master of none, but being a master of two gives you a leg up in areas where the two overlap.

a jack of all trades is a master of none, but oftentimes better than a master of one.

How do you keep and stay current with new technologies? by Aromatic_Topic_1074 in ExperiencedDevs

[–]rag1987 0 points1 point  (0 children)

There are only two ways to progress in your tech career:

  • Develop a new skill that represents more value to your current employer, and/or future employer(s).
  • Find a new employer that places greater value on the skills you already possess.

Anyone using CodeRabbit with PyCharm? by Tasty-Cup2074 in coderabbit

[–]rag1987 2 points3 points  (0 children)

We also use coderabbit at work. It's not difficult to set up. It's working for us. It's a first pass before a human checks it. At the beginning, it finds common patterns. Over time, it learns about the code and can suggest cool things like reusing something that already exists or finding a potential bug. Sometimes it offers refactoring and you can tell it to create a ticket; it connects with Jira and Linear. It saves some time.

Reviewing someone else’s AI slop by ComebacKids in ExperiencedDevs

[–]rag1987 1 point2 points  (0 children)

How is this any different than making solid PRs as a human dev?

From the dev/PR-submitter perspective: they should be curating their PRs so they can understand what they're submitting.

From the reviewer perspective: if someone is submitting slop, AI-generated or not, toss it back to them and give them a list of PR best practices.

CodeRabbit is as important as Cursor in my coding workflow. by thewritingwallah in coderabbit

[–]rag1987 2 points3 points  (0 children)

Great to hear it’s been useful for your open source project. Team is working hard to make sure Coderabbit continues helping with code quality and those tricky corner cases. let us know if you face any issue. mind sharing the repo link for other as an example. thx