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!
Follow the wormhole through a path of communities !webdev@programming.dev
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.
Nice, so they are hot takes :D
If the design of a code change is bad, noticing that in the PR stage is not desirable. It should be discussed before someone actually went ahead and implemented it. It can also happen if people misunderstand the architecture, but again, that should be cleared up before actually implementing a change. Code style should be enforced automatically, as should test coverage and performance. Code review is also pretty bad at finding bugs from my experience. That imo leaves very few things where code review is useful that are not nitpicking.
As for programming languages, the amount does matter for individuals and for teams/organisations. A developer who can only use a single language is not very good, and using a many different languages within the same team is not good either.
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
You missed one: