4 ms·
Human reviewers can also demand your code be made worse. Sometimes, the choice is making your code worse to satisfy a dumb tool (software), or making your code
by a_cardboard_box 3y ago
Human reviewers can also demand your code be made worse. Sometimes, the choice is making your code worse to satisfy a dumb tool (software), or making your code worse to satisfy a dumb tool (person).
- arp242 3y agoAt least when it's a person it's someone you can talk to, reason with, compromise with, reasonably disagree with. Can't do any of that with software.
- kilotaras 3y agoMost tools have an escape hatch, see e.g. [0] [0] https://github.com/search?q=clang-format+off&type=code https://github.com/search?q=clang-format+off&type=code
- pjmlp 3y agoExample, clean code architecture astronauts.
- ddejohn 3y agoCan you elaborate?
- pjmlp 3y agoSome examples, https://serverlessfirst.com/emails/the-serverless-architecture-astronaut/ https://serverlessfirst.com/emails/the-serverless-architectu... https://stackoverflow.com/questions/404210/design-patterns-architecture-astronaut https://stackoverflow.com/questions/404210/design-patterns-a... https://www.google.com/amp/s/blog.codinghorror.com/it-came-from-planet-architecture/amp/ https://www.google.com/amp/s/blog.codinghorror.com/it-came-f...
- ddejohn 3y agoThanks for the links -- I understand the concept; I was asking more about specific examples related to "clean code". When I think of "clean code", I think "programming to interfaces" and "keeping domain/business logic separate from implementation details about HTTP/gRPC and database connection management, etc. Maybe I don't fully grok "clean code"?
- pjmlp 3y agoIn that case, https://qntm.org/clean https://qntm.org/clean Usually many architects tend to go overboard with interfaces for everything, repositories, data layers, hexagonal architecture, and whatever else is fashionable at conferences.
- delusional 3y agoIf your coworker demands you make the code worse, you'd have to imagine that it's a difference of style. They may believe you're making it better. At least in that case I'm satisfying the style of somebody else on my team. I view that as more valuable than satisfying some tool that nobody agrees with.
- bobthepanda 3y agoLinters are configurable, so the way they are supposed to be used is that you get your team to agree on one lint standard and shove it in the auto-linter so that reviewers can point to a higher authority instead of arguing in circles, pulling in other people onto their side, and wasting a bunch of time.