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

Programming

21429 readers
462 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 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 73 points 2 years ago* (last edited 2 years 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
[–] [email protected] 33 points 2 years 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 2 years 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

[–] [email protected] 25 points 2 years 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)