3 ms·
My argument is more to the tune of "everybody’s code looking slightly different is not a problem in practice as long as I can read and understand it." However
by maratc 2mo ago
My argument is more to the tune of "everybody’s code looking slightly different is not a problem in practice as long as I can read and understand it."
However since you've asked so nicely here you go: everybody’s code looking different is because all humans are different. It's what makes us human. I am very serious about my craftsmanship, and I bring my "humanity" to it: sometimes I include a cultural reference (as in the example above), or an internal joke in the name of a (very long) variable, or vent my frustration in a comment.
My first ten years of writing Python were uneventful; nobody commented about my style and I never commented about others'. With the advent of grammar nazi bots, everyone is supposed to now please them by writing completely bland code, which in my opinion degrades me from a craftsman to a code-monkey. This is dehumanising, in a certain sense.
- refactor_master 2mo agoBut your choice of funny variable names is not a craft, and you’re not a craftsman if you think it matters. What matters is extensibility, maintainability and value delivered. I care how the food tastes, not that the chef has a really cool Japanese knife and is really fast at cutting onions.
- phoghed 2mo agoI need a kitchen linter to highlight dishes red that my kids leave around rather than putting in the sink or dishwasher
- maratc 2mo agoI think you miss the point, but using your foodie reference: would you rather go to a couple of Michelin restaurants -- where each piece brings a reflection of the chef, the geographic area, and what quality ingredients were available on that day -- or would you rather only eat at McDonald's for an experience that is extremely consistent across days, seasons, and continents? Now imagine a chef who has a nice little restaurant but is now being sent a couple of "quality assurance" guys from McDonald's who tell him that his choice of potato variety for chips does not exactly conform to the "standards" defined at the mothership.
- turtlebits 2mo agoThe one day, your chef leaves, the food goes to shit and productivity/output/morale drops. When the new chef arrives, then everyone has to relearn everything. Software shouldn't be bespoke and "artisan".
- maratc 2mo agoAnd here's where this abstraction breaks: when a programmer leaves, their code is not going anywhere. The bigger problem is this: you want me to be a cog wheel, but I want to be an artist.
- CrompyBlompers 2mo agoThen go be an artist and leave the rest of us to tend our well oiled machines.
- disgruntledphd2 2mo agoI too want to be an artist, but I work in an economy that requires me to be an artist mostly in my off hours. And honestly, this is such a weird hill to die on. Lint rules when automated are basically pure win in most scenarios, and for your example, just exclude the rule for this block.
- internet2000 2mo ago> The bigger problem is this: you want me to be a cog wheel, but I want to be an artist. Well, that's the ball game then. This isn't the industry to be an artist in, especially post-AI.
- galangalalgol 2mo agoI think the artisanal code industry will exist. It will not be large and it will not pay well.
- pdimitar 2mo agoTake it to your employer then, not to us. We want maintainable code we can quickly onboard in, and be able to modify and extend. Your artistry is getting in the way of other people getting stuff done.
- jghn 2mo agoI'd go so far as to argue that person to person differences are helpful to a reader. When I am dealing with a long term code base it's easy to develop a feel for who is responsible for different constructs without needing to rely on the git history. This gives me immediate information on what to expect.
- preg_match 2mo agoIt depends wildly on how one defines "slightly". If it overflows in the editor, then that's a problem IMO. But some people would say no. In PHP we often see this type of thing: $someArr = [ 'config' => [ 'system' => 'linux', ... ], ]; Versus: $someArr = [ 'config' => [ 'system' => 'linux', ... ], ]; Well... option 2 uses both significantly more vertical space, and horizontal space. But it's technically PSR compliant. However, we really need standard formatting on this, because it's annoying.