Skip Navigation
How to conduct an effective code review
  • The things he asks to do are the reasons why I find no joy anymore working in coding. Hammering my thumbs seems to be more interesting than doing most of these actions. I swear, I got so bored I couldn't finish the read. Specifically "if you find yourself commenting on every line of code" the right thing to do is to setup a meeting with te hiring department.

  • Merge then review
  • Code review can't fix incompence though. I lost count of how many times my boss told me "review that PR well because X is not very good". Also my point is that they are overrated, not that they are useless.

  • Merge then review
  • Probably unpopular opinion, but peer reviews are overrated. If coders are good AND know the project, the only thing you can do in a PR is nitpicking. They are more useful for open source collaborators because you want to double-check their code fits with the current architecture. But people here are reacting as if peer reviews could actually spot bugs that tests can't catch. That happens rarely unless the contributor is junion/not good.

  • Deleted
    *Permanently Deleted*
  • Lol I feel so old reading these replies... I learnt copying BASIC games from magazines and typing them manually on the computer.

    But jokes apart, when it comes to learning, I think the best thing is to tinker with weather language you choose and don't worry about making the "right choices" since the start. Forget about writing "pythonic" code and don't worry about being "idiomatic": just build something. Building good software is not just constructs, but also knowning which subsystem to improve and when. That's what makes experience.

    When it comes to improving, you can dig deep into the language.

  • Don't write Rust like it's Java
  • Sometimes I wonder if this pure search for being "idiomatic" is worth the effort. On paper yes, more idiomatic code is almost always a good thing, it feels more natural to create code in a way the language was designed to be used. But it practice, you don't get any points for being more idiomatic and your code isn't necessarily going to be safer either (smart pointers are often "good enough"). I'm fine using references to pass parameters to function and I love the idea to "force" the programmer to organize objects in a tree way (funny enough I was already doing that in C++), but I'll take a Rc rather than a lifetimed reference as a field in a structure any day. That shit becomes unreadable fast!

    EDIT: but I love cargo clippy! It tells me what to change to get more idiomatic points. Who knows why an if/then/else is better than a match for two values, but clippy says so, and who am I to question the idiomatic gods?

  • Deleted
    *Permanently Deleted*
  • Personally, I mostly use neovim, both at home and at work. My reasons are:

    1. I hate any kind of screen cluttering. The minimap comes straight from hell.
    2. it's very responsive. I don't even bother using language servers as they occasionally introduce micro delays that I hate.
    3. it helps me in organizing the code better. No minimap means I keep the file size manageable, not seeing the definition of the function straight away means I keep the static complexity of the code in check (tend to reduce the number of delegates). It doesn't help when I have to read cose from legacy codebase, but I don't care too much about that.
  • is Rust really that powerful / intuitive?
  • "intuitive" is extremely subjective, and based on your past experiences. I've coded in C++ for years, and some Python, too and was able to grasp many Rust concepts very quickly, while for others I struggled (and still am). I'd say that if you are looking for "intuitive", Rust ain't it. It's a system language, so it requires planning, it's definitely not the ideal language to slap a prototype quickly together, expecially as a beginner.

  • Let's talk about Zig
  • It competes with C, so in 2023 this basically means embedded systems. It offers executable size of few KB and out-of-the-box cross-platform compilation. It's a modern C, basically, and it claims to be even faster than C as some language rules allow more optimizations

  • Let's talk about Zig
  • My understanding is that this is possible: you should be able to take a C project, add a build.zig file and under the hood the system is calling clang to compile the C project. HOWEVER, you can now add a .zig source file, compile that in zig and link together with the output of the C compiler into an executable. If this is actually true, I can definitely see the attractiveness of the language.

  • Let's talk about Zig

    I have been reading about this new language for a while. It's a C competitor, very slim language with very interesting choices, like supporting cross platform compilation out of the box, supports compiling C/C++ code (and can be used as a drop in replacement for C) to the point in can be used as replacement of (c)make and executables are very small.

    But, like all languages, adoption is what makes the difference. And we don't know how it goes.

    Is anyone actually using Zig right now? Any thoughts?

    40
    is it just me or GitHub is turning into some sort of LinkedIn
  • I wouldn't say it's a new LinkedIn, but it's definitely a defacto monopolio. It pains be that Cargo (the official rust packaging system) is so integrated with it. My own personal hobby projects are self-hosted on a gittea instance right now, but I still have a github account to contribute to a friend of mine's project which is, sadly, hosted there.

  • finally there is a perfect monitor for Java programmers
  • Well I guess the point is that you shouldn't need all these method calls to achieve simple goals. Most of those "getF" are calls to some SystemFactory to get a GenericObjectFactory and so on and so forth.

  • How do you tighten your feedback loop?
  • I used to love IDEs with immediate feedback on the code, and a modern VSCode setup can really shine in this regards. But these days I'm going for a minimalistic approach where I don't want to see anything in my screen but the code. I use Neovim and while I use plugins for formatting code on save, my screen is absolutely code only. No linting hints, no function definition appearing when I hover thr mouse, nothing at all. It's far less distracting and you also feel much less constrained, even if I unconsciously already write the code in a way that the linter doesn't complain (too much) later. I haven't noticed any drop in my productivity in the last year I've been doing this.

  • InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)BL
    Blackthorn @programming.dev
    Posts 1
    Comments 22