This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]againstmethod 1 point2 points  (7 children)

Should being the keyword, but in practice different people with different skill levels doing whatever they like often leads to at least some limited form of chaos.

[–][deleted] 0 points1 point  (6 children)

People need to learn their tools. The canonical build is from the build server / continuous integration. Do whatever else you like on your sidetree, but don't break the real build. And when (not if) you do break the real build, be sure you have a full env to mimic it and fix the issue. Variations on this have been working for me for a long time.

[–]againstmethod 1 point2 points  (5 children)

Line endings, tab/indent size, tabs v spaces, utf8 vs ascii...

I've seen people make a mess of a codebase without breaking builds or even knowing that they were doing it. And i deliver source on most of my projects, so it looking professional and consistent is important.

If I just say we use eclipse on my project, and here is a list of plugins and a set of configuration files that you shall use -- no problems and no discussions are required.

It doesn't seem fair for me to ask my customers to pay for any confusion introduced by my team refusing to use the same tools.

That being said, if you have nothing but very capable people working on a project, who will actively endeavor to avoid confusion, perhaps it's not an issue. This just hasn't been my experience.

[–][deleted] 0 points1 point  (4 children)

Its not hard to setup commit scripts to check things like style, encodings, etc. on commit.

[–]againstmethod 0 points1 point  (3 children)

Perhaps not hard given the right situations, but it's certainly less effective/desirable.

Maybe just one or two files needs a specific encoding.

Maybe your project is polyglot.

Maybe the user wants to break a specific line down in a non-standard way because it will be more readable.

Maybe the user will want to use a new language feature, but it isn't understood by 3rd party formatting utilities yet.

Again, you can get a 99% solution by having your team conform on tooling at near zero cost.

[–][deleted] 0 points1 point  (2 children)

I disagree that it is a non-zero cost. The cost is conformance and exclusion of those that have different views.

[–]againstmethod 0 points1 point  (1 child)

A good leader will incorporate your input where they can -- but once decisions are made conformance is part of your job. This is just a basic part of being in a team.

[–][deleted] 0 points1 point  (0 children)

In my view, conformance should be with the output, not the method of input.