• 1 Post
  • 1.08K Comments
Joined 2 years ago
cake
Cake day: July 3rd, 2023

help-circle



  • I’ve seen some garbage slide through code reviews. Most people don’t do them well.

    I’m doing contract work at a big multinational company, and I saw a syntax error slide through code review the other day. Just, like, too many parenthesis, the function literally wouldn’t work. (No, they don’t have automated unit tests or CI/CD. Yes, that’s insane. No, I don’t have any power to fix that, but I am trying anyway). It’s not hard to imagine something more subtle like a memory leak getting through.

    In my experience, people don’t want to say “I think this is all a bad idea” if you have a large code review. A couple years ago, a guy went off and wrote a whole DSL for a task. Technically, it’s pretty impressive. It was, however, in my opinion, wholly unnecessary for the task at hand. I objected to this and suggested we stick with the serviceable, supported, and interoperable approach we had. The team decided to just move forward with his solution, because he’d spent time on it and it was ready to go. So I can definitely see a bunch of people not wanting to make waves and just signing off on something big.


  • Python.

    • It’s pretty easy to get going.
    • the debugger is very good. Being able to put a breakpoint and interactively fuss with it is so much better than print statements and crying
    • you can (and should) use type annotations, but they are optional
    • it’s on most machines already, but you don’t want to fuck with the system install of it. On Linux and Mac you can use pyenv or similar if the system came with a version you can’t use. (Don’t teach anyone python 2.)
    • the standard library is very good.

    You could also do JavaScript, as that’ll work on any modern browser. However, JavaScript is a deeply cursed language. It’s really bad at like every level.

    I don’t recommend it unless your top priority is “it is definitely available everywhere” and “these are future web developers”.















  • I’ve been pushing to add some basic checks on PR, and people are reluctant. There’s one repo that I’m code owner on so I spent the like 15 minutes to apply a code formatter and add a GitHub action to check. But on the main repo people are dragging their heels. I’m like just pick ruff or black and do it. It’s going to take like 10 minutes. I’m not asking for us to go crazy and add automated tests right now, but can we at least get something to verify the python code is syntactically correct?

    The other day something went through code review until I looked at it and saw there was an extra (, and that shit wouldn’t even run. I’m like please please add an automated check. I’ll do it. Please.

    I think a lot of people just aren’t familiar with how other places do software. This is the same place that was ssh’ing into prod and making changes right on the machine until like this month.