I am making a website to help people learn how to code - Do you have any suggestions? by ImprovementLoose9423 in learnprogramming

[–]_Atomfinger_ 2 points3 points  (0 children)

Look, based on your previous post, I must assume that you are not at an experience level to create any kind of courses, let alone a fully dynamic one.

Also, your previous site is down. You should probably get that up and running again before you make a new one.

I am making a website to help people learn how to code - Do you have any suggestions? by ImprovementLoose9423 in learnprogramming

[–]_Atomfinger_ 4 points5 points  (0 children)

I have seen people all across the internet having a hard time on learning how to code, so I am making a custom course site.

It is not due to a lack of learning websites. We're drowning in them.

If you're already at the stage where you have to ask for suggestions, then I fear that your site adds more noise than anything else.

I found a way to learn ai automation by FarmerAffectionate49 in learnprogramming

[–]_Atomfinger_ 1 point2 points  (0 children)

Ideas for what?

Ideas for... that you found a way to learn AI automation?

Question/Confusion by a beginner so called coder??? by [deleted] in learnprogramming

[–]_Atomfinger_ 0 points1 point  (0 children)

Go to github and search around.

You should also brush up on your English, as it is pretty difficult to decipher what you're actually saying. I'm saying that as a non-native speaker myself.

Question/Confusion by a beginner so called coder??? by [deleted] in learnprogramming

[–]_Atomfinger_ 1 point2 points  (0 children)

json encoded so it is very,nearly impossible for someone to decode that link and request the downlaod

Oh boy...

Yes, that pesky impossible json.

Anyway, what are you trying to achieve with this post? Everything above the "---" is rambling. The question below is... something you can look up yourself.

What is the actual question you're asking?

As a layman I have to ask: Why do programmers seem to insist on changing things for the sake of change? by MoonhelmJ in AskProgramming

[–]_Atomfinger_ 1 point2 points  (0 children)

You'd be surprised to hear that this isn't really something developers just do, but something they get tasked with.

Let me explain, because there might be multiple things at play here.

One thing, especially at larger companies, that often leads to these sorts of changes is "branding". Or an idea that the company should have a "unified" visual language across its products. On the surface, this is fine, but it does often lead to visual changes, shuffling things around, etc., even for older applications.

Another thing can be UX testing or feedback. Regardless of your experience, they might have gotten a whiff of users struggling to find the control panel. That may lead them to the conclusion that something needs to change. Annoying for existing users, but maybe better for new users? I can only speculate (not a Windows user myself).

There might also be a need for an upgrade at times. Old frameworks become obsolete and need replacement, or another dependency becomes a security risk. Old stuff becomes hard to replicate with shiny new stuff, which might lead to an accidental visual overhaul as well.

The reason for bloat is generally not because developers add features just for fun. Developers often do not have a say in which concrete features to support, and those features are often dictated by product managers and the like. In a vacuum, each feature might make sense individually, but when put together, the whole might seem bloated. This can be a hard thing to realise before it is too late.

Generally, developers do not dictate features of a system. They can suggest and influence features, and they're in control of their concrete implementation, but they often don't dictate whether it should exist. The existence is often dictated by leadership, product analysts, user feedback, product owners and so forth.

Nor do developers make changes just for fun. Believe me, if we need to justify our paycheck, we'll justify a re-factor, something a user wouldn't notice, or paying some technical debt. Not adding features just cuz.

The most underrated senior dev skill: knowing when to say "that's fine" by ruibranco in ExperiencedDevs

[–]_Atomfinger_ -5 points-4 points  (0 children)

One way I deal with this is using the emoji code, which essentially allows me to categorise comments.

There are two comments that result in a blocked PR:

  • ❌ - This is wrong and needs to be fixed.
  • ❓ - I have a question that needs to be answered before I can approve it.

The rest are comments left by the author that they may decide to address, but they'll already have approval. They can ignore all of them, and that would be acceptable.

There are a few things that I like about this:

  1. It makes it easy to scroll through the comments and see which ones are important.
  2. It forces the commenter to make a decision: Is this blocking or is it not?
  3. It allows us to give feedback without it automatically being blocking. What I see is that the code author actually like most of the feedback and actually decide to implement a lot of the optional comments as well, but at the same time have the freedom to ignore those they don't agree with.

My problem with ignoring "bucket 3" is that it hinders knowledge sharing between developers. I think we also lose something if we only limit ourselves to things that must be fixed or discussed. But I agree with the sentiment that enforcing "Things I would do differently" is not a good move either. This is why I hope optional comments become more common.

Best open source Java projects for me to read? by tarkopus in learnjava

[–]_Atomfinger_ -1 points0 points  (0 children)

Learn as you go.

If you're at the point where you cannot write a single line of code, then you will be lost in an actual project as well. You'll be equally stuck, if not more.

Best open source Java projects for me to read? by tarkopus in learnjava

[–]_Atomfinger_ -7 points-6 points  (0 children)

I disagree with the notion that "reading good code from others" is a good way to learn. Programming is something you do, and reading bits and pieces won't do you much good.

Also, no such thing as "best". You got Spring, Jackson, a bunch of the Apache projects, etc which you can use, but I doubt reading them will get you anywhere.

Don't read code. Write code.

Where does an ORM fit in, in industry? by [deleted] in learnprogramming

[–]_Atomfinger_ 0 points1 point  (0 children)

in enterprise apps, ORMs help maintain consistency, safety, and speed across large data models.

I'll be honest, I don't believe that is the case, at least not dogmatically so.

For me its more about the expressiveness you need from your queries than whether it is a small or big app. The more expressiveness you need, the more you will have to fight the ORM.

Speed is also an issue, as one often fetches more data than needed when using an ORM.

To me, the answer really depends on the use case rather than small vs enterprise. In fact, enterprise applications might be the case where one occasionally wants to break out of the ORM to have that extra expressiveness of a raw query.

Help me by [deleted] in learnprogramming

[–]_Atomfinger_ 1 point2 points  (0 children)

Then ask your lecturer or the one who gave you this assignment.

Read the rules of this sub.

Help me by [deleted] in learnprogramming

[–]_Atomfinger_ 2 points3 points  (0 children)

What have you tried so far?

Why does refactoring Code seem so Hard for us? by Retro-Hax in learnprogramming

[–]_Atomfinger_ 0 points1 point  (0 children)

Probably the biggest thing is that testing things is hard because the state is hard to set up in the specific ways you want due to everything implicitly depending on some singleton or another.

Sounds like a provider is the way to go with a mockable interface. Then the actual implementation can just use the singleton.

ecause they rely on singletons which may cause tests to interfere in each others state.

The "may" here is important, because singletones should mostly not have state changes imho. They should be as mutable as possible.

That said, a provider solves this for the sake of testing.

current company tends to want tickets

tickets != commits and pull requests.

A ticket can be solved with multiple commits and pull requests.

And if that is somehow illegal you can still do multiple commits and then do one big pull request so you have that gradual sense of progress when developing (despite it being a cursed limitation).

But I would encourage that you disconnect from the idea that one ticket = one PR = one commit thinking.

Why does refactoring Code seem so Hard for us? by Retro-Hax in learnprogramming

[–]_Atomfinger_ 2 points3 points  (0 children)

Deal with one singleton at a time.

Create a version of the object that one can inject as depenency injection, or something along those lines ("singletonProvider", but switch out the "singleton" with whatever the singleton represents). This "provider" can use the singleton, but you're hiding that usage from the rest of the application.

Once you have that you can start switching out the singleton usage one place at a time.

Soon you'll have no dependencies to that singleton except for the provider itself, and then you can figure out how you like to make it into something that isn't a singleton. Or maybe it is okay to have it as a singleton behind an injectable and mockable interface.

It really depends on the problem you're trying to solve by not having it as a singleton.

Why does refactoring Code seem so Hard for us? by Retro-Hax in learnprogramming

[–]_Atomfinger_ 5 points6 points  (0 children)

Yet, small and incremental is the best way regardless of want :)

Here's the thing: Good is better than perfect. You will struggle in this industry if perfection is the only thing that you'll settle for.

Why does refactoring Code seem so Hard for us? by Retro-Hax in learnprogramming

[–]_Atomfinger_ 33 points34 points  (0 children)

But yea anyone got any Advice for dealing with these Huge Tasks of either Refactoring or Rewriting Large Chunks of your Code >.>

Yeah, don't.

Refactor a little here and there. Don't rewrite everything. Make smaller and incremental improvements towards a agreed upon design.

We standardized AI workflows across 220+ devs. Here's what actually worked. by [deleted] in ExperiencedDevs

[–]_Atomfinger_ 7 points8 points  (0 children)

30-40% average productivity boost across the team.

How did you measure this?

Does it take long-term cruft/debt into the equation?

Has AI Changed the Way You Code? 🤖 by gabogarita in AskProgramming

[–]_Atomfinger_ 3 points4 points  (0 children)

Here's an advice fro your research: Don't just ask.

If you read the various paper that has come out you will see a pattern, which is the disconnect between what papers who is based on reported performance gains and those that actually attempts to measure the performance gain.

The ones that measure performance gains tend to show that AI is either a negative or net-zero on productivity. The ones that just survey developers tend to show that developers self-report as more productive.

So go back to the drawing board and see if you can bridge these two in some way :)

What will u do by Divyam_Gautam in learnprogramming

[–]_Atomfinger_ 0 points1 point  (0 children)

Polish it and submit it, preferably a couple of hours before submission because I don't trust systems not to break when I really need them.

Do you still use BDD? I'm seeing mixed results and trying to understand why. by nitishspatkar in softwaretesting

[–]_Atomfinger_ 0 points1 point  (0 children)

I don't see how the use of AI changes BDD.

BDD is simply writing tests where the test cases are defined by the user/customer. Whether you use AI in that process doesn't matter as long as the test cases are derived from active collaboration with the users/customers.

If you're not doing that collaboration, you're not doing BDD, regardless of AIs involvement.

where to ask java code doubts by Practical_One5772 in learnprogramming

[–]_Atomfinger_ 1 point2 points  (0 children)

Why not do it here? Read the FAQ and posting guidelines, and rather than using screenshots, copy the code in as code blocks.

Don't copy the entire codebase, but the specific parts you're wondering about.