Glory to you and your house!
Glory to you and your house!
“Why” comments make more sense as application complexity grows.
You also have to consider interaction of the code with other external systems - sometimes external APIs force you to write code in ways you might not otherwise and it’s good to leave a trail for others on your team (and your future self…) about what was going on there.
I know this may be an unpopular opinion on lemmy, which leans so heavily towards Linux and FOSS, and I’m a Linux user myself but….
I actually really like C# and .NET (the modern cross-platform version anyway).
And this is why mocks are bad…
Ah, the list of required skills on the last job posting I looked at…
Came here to upvote for the exact same reasons.
I generally agree with the idea that code should be as simple as it can be to accomplish the goal of the code… I just haven’t been convinced that Clean Code is the way to get there, necessarily. The book does contain some good advice , to be sure, but I wouldn’t call it universal by any means.
I also think TDD is a very optimistic strategy that just doesn’t match up with reality terribly often.
Actually, I think that’s what confuses me the most about all of Uncle Bob’s books. I’ve read a couple of them and thought, “All this sounds great but real world development just doesn’t seem to work that way.” Like, all of his advice is for best case scenarios that I certainly haven’t encountered in my career.
I say confusing, because surely he’s been in the profession long enough to have seen the disconnect between what he’s preaching and real life, right???
Yeah, ujust is pretty cool!
At work, we’re a Windows shop. So mostly Docker (desktop) via WSL2. But it depends on the project. Sometimes it’s just NodeJS in Windows itself!
At home, mostly tools like nvm and Python venvs to handle multiple projects with potentially overlapping/problematic dependencies that I want to isolate from the base system.
Either way, initial testing happens locally with Docker compose, sometimes minikube depending on the project.
With Bluefin-DX it’s a lot of the same concepts but the included tools get you there a different, and honestly easier and more convenient way. But I have learn how to use those tools!
Bluefin-DX is great! I’m still figuring out how everything works - there are a lot of tools included that are new to me, despite being a cloud-oriented developer.
It’s a very different way to use Linux, from how the OS is constructed, to the container-first nature of the default applications and intended workflow. But I’m really enjoying learning how to use it.
I’m a programmer! I use Linux and Windows. In fact, I’m now in my second job in a Microsoft shop (and no, neither were/are .NET…). And I’ve had exactly zero jobs where I was issued or allowed to use a Linux machine.
Almost 10 years into my own Linux journey, I’m feeling the pull to Debian.
I’m just hanging out in denial right now on Pop OS.
Thanks, I’ll look into that. KDE is awesome and it would be fun to contribute in some small way.
I’m a developer, but my career has been very web-focused. What languages would I need to learn to contribute to KDE apps?
Do we work together?
Yes, please!
I write C# for a living and I’m the same - Windows at work, Linux at home.
I use VSCode on both OSes. On Linux, I only use VSCode for C# and I have the MS-free version for any other languages I want to use.
I also use VSCode 95% on my work laptop which is a Windows machine. The extension Ms are really good and the dotnet CLI is pretty robust. There are also extensions that can help you deploy stuff to Azure too.
Honestly, I don’t even try native versions (when they exist) for most games. I go straight to Proton or Lutris.
I think that, in many cases, “what” and “why” are very similar to each other or are closely related.
I’ve had an experience like this on more than one occasion - I come into an established code base for the first time. I’m working on a new feature/refactor/bug fix. I am reading through a function that is relevant to me, scratching my head a bit, and thinking “I think I see what this function is doing, but why did they do it such a screwy way?” Often there are no comments to give me any clues.
In the past, I have foolishly changed the code, thinking that I knew better… But what often happens is that I soon discover why my predecessor did something that looked so weird to me. They weren’t stupid - there was a reason for it! And then I end up putting it back…
Point being, in a situation like that the “what” and the “why” are going to have a lot of overlap. So, personally, I try to write comments that highlight assumptions that won’t be obvious from reading the code, external constraints that matter but don’t actually show up in the code, and so on.
I am far from perfect at it and I probably don’t write enough comments. But when I do, I try to write comments that will be reminders to myself, or fill in gaps in context for some hypothetical new person. I try to avoid comments that literally explain the code unless it’s particularly (and unavoidably) complex.