this post was submitted on 01 Sep 2023
339 points (96.2% liked)

Programming

17477 readers
238 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 74 points 1 year ago* (last edited 1 year ago) (11 children)

Not sure if these are hot takes:

  • Difficult to test == poorly designed
  • Code review is overrated and often poorly executed, most things should be checked automatically (review should still be done though)
  • Which programming language doesn't matter (within reason), while amount of programming languages matters a lot
[–] brettvitaz 33 points 1 year ago (3 children)

I agree with your first point, but pretty strongly disagree with the other two. Code review is critical. Devs should be discussing changes and design choices. One Dev can not be all things all the time and other people have experience you do not or can remind you of things you forgot. Programming language absolutely matters when you’re not the only dev on the team.

[–] [email protected] 26 points 1 year ago (1 children)

If code reviews in your org are glorified "styleguide checks", then they are not really code reviews at all.

Also, if you're only getting design input at code review time, that's WWAAYY too late in the process.

Code reviews should be:

  • Establishing that the code has proper test coverage (functional correctness VIA coverage, not code observation)

  • Establishing that it doesn't have unintended consequences in the ** implementation** (making db calls in a loop, exposing secure information, etc)

  • That the implementation is of the high-level design that was already established and agreed upon by the larger development unit.

  • A opportunity to ask questions to learn from whoever wrote the code

  • An opportunity for the reviewers to teach techniques that could have helped in the code

[–] ndotb 26 points 1 year ago

You missed one:

  • To let others at least have some insight into what you're doing so you can take a freakin' vacation every once in a while
load more comments (1 replies)
load more comments (8 replies)