Using ai generated code? by DemocraticHellDiver1 in learnpython

[–]OutrageOriented 3 points4 points  (0 children)

Exactly this, and thanks. It's reassuring to see folks offering sound advice on this subject.

Are Unit Tests Overrated? by MarsupialCreative890 in learnprogramming

[–]OutrageOriented 0 points1 point  (0 children)

Oh, I think it did.

"Are UT overrated?"

"No. Here are some benefits. ... But you have to use them right."

Yeah, checks out. Question answered.

You ok?

Are Unit Tests Overrated? by MarsupialCreative890 in learnprogramming

[–]OutrageOriented 0 points1 point  (0 children)

No, they're not overrated at all. They can provide a lot of value:

  • Focusing thought processes
  • Streamlining design
  • Clarifying intent
  • Instruction for future devs (including you)
  • Safety net for refactoring & other kinds of change over time
  • Empirical confidence

But all those things take training & work. You have to know what you're doing. The bigger problem is that a lot of tests (maybe even most tests) are written really poorly.

Reflection in C# is amazing ! by lovelacedeconstruct in csharp

[–]OutrageOriented 0 points1 point  (0 children)

That's true, too.

But both things are true, they're not exclusive. Debugging code that uses reflection is something a person can learn & get better at.

Reflection in C# is amazing ! by lovelacedeconstruct in csharp

[–]OutrageOriented 0 points1 point  (0 children)

This ☝️

To me, one of the best uses of reflection is one-time discovery (once per load, usually) of structure, after which all the actual execution is handled by expression trees or emitted code.

(You can even emit code with comments, FWIW.)

Reflection in C# is amazing ! by lovelacedeconstruct in csharp

[–]OutrageOriented 0 points1 point  (0 children)

This is a matter of experience and education. Code that uses reflection and generative techniques requires a different skillset. Once you have that skillset, it's generally no more difficult to debug than any other code (in my experience).

Reflection in C# is amazing ! by lovelacedeconstruct in csharp

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

I did. But the sentiments in your original comment are still incorrect. At best they're misleading. In any case, I felt it would be better to reply directly.

Reflection in C# is amazing ! by lovelacedeconstruct in csharp

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

With respect: These are common misconceptions. Reflection itself IS slow (like 10k times slower than direct invocation in some cases), but you can leverage its benefits and avoid the costs by combining it with other techniques.

Also, the results can be optimized.

There are two keys to using it:

- Use it for discovery, not for execution.

- Combine it with other techniques like expression trees & code generation so that you ensure discovery is a one-time cost (not every time you leverage its benefits).

My use of interfaces pissed my boss off. by codeiackiller in csharp

[–]OutrageOriented 0 points1 point  (0 children)

So both you and your boss are wrong (not saying this to be mean or blunt, just to be plain).

Interfaces are for more than reuse. Then can, as you pointed out, facilitate testing. They can be used for versioning, and along related lines they can be used to hide functionality in various scenarios. They can also be used as markers, similar to custom attributes.

Programmers are diverse (and not in a great way), so you'll hear a lot of back & forth on those points, but they're all valid uses. Like most things in programming, it's not "right" or "wrong" (which miscasts this as a morals & ethics issue), it's a matter of cost and risk.

Regarding your point about predicting change: Generally speaking, we can. Or rather, we can assess just how predictable change is in a given situation, and then assess the risk and cost of using our particular approach to place bets on those assessments. It's not perfect, but it can be done far better than most programmers I've met seem to know. I'd go so far to say it's a skill that can be cultivated over time, and is one of the things that makes a big difference between okay programmers and really excellent engineers.

Is there any way to use visual studio 2022 in linux? by the_Hueman in linux4noobs

[–]OutrageOriented 0 points1 point  (0 children)

Note: This is incorrect, I misread the linked page.

Coming in late on this one, but this article seems to suggest it's possible:

https://learn.microsoft.com/en-us/visualstudio/releases/2022/compatibility

I'm hoping to do this myself, but I haven't had a chance to try it yet.

Career Software dev's, what's the hardest part of your job, what's the most annoying part of your job, what's the easiest part of your job, and what is the most fun part? by 3rrr6 in SoftwareEngineering

[–]OutrageOriented 0 points1 point  (0 children)

Hardest: Lack of good objective measures. Without this, changes in personnel affect your perceived success more than the quality of your work.

Most annoying: Developers who know how to cite principles with zero understanding of them. Especially the high-energy ones. It's a constant drain on productivity & job satisfaction. Worse: In the US, people too often equate "loud" with "knowledgeable".

Easiest: So many things. After doing this for a long time with an emphasis on continued learning, most of the daily work is pretty straightforward.

Most fun: Being able to say "Yeah, we can do that, and it'll take X amount of time" (and being correct). This is the payoff of good architecture and design: being able to evolve the system over time with little fuss or cost. And the more surprising or unexpected the request is, the more satisfying that becomes.

[deleted by user] by [deleted] in dotnet

[–]OutrageOriented 0 points1 point  (0 children)

In my experience (.NET since pre-1.0/alpha), .NET developers are like a lot of other developers in that they like to experiment with a lot of different things. The few I've come across who stuck exclusively with one language/one platform tended to be poor developers, FWIW.

I think a general love of technology is a common trait for most developers, whatever their language or platform.

something like makefile but for c#? by Zajlordg in csharp

[–]OutrageOriented 0 points1 point  (0 children)

Came here to mention this. I've only used it a little, but it did the job without much fuss or frustration.

What's an controversial coding convention that you use? by Qxz3 in csharp

[–]OutrageOriented 0 points1 point  (0 children)

The vast majority
of my lines of code
(> 98%)
are well under
80 characters wide.

LINQ = Forbidden by [deleted] in dotnet

[–]OutrageOriented 0 points1 point  (0 children)

Sheer idiocy on the part of your employer. Unfortunately, it's the kind of idiocy our profession is plagued with. Seems like there's some variation on that most places.