Я працюю над невеликою командою, близько 10 дев. У нас взагалі немає стандартів кодування. Є певні речі, які стали нормою, але деякі способи вчинити цілком розбіжно. Моя велика - відступ. Деякі використовують вкладки, деякі використовують пробіли, інші використовують різну кількість пробілів, що створює величезну проблему. Я часто стикаюся з конфліктами, коли зливаюся, тому що хтось використовував їх IDE для автоматичного форматування, і вони використовують інший символ для відступу, ніж я. Мені все одно, якими ми користуємось, я просто хочу, щоб ми використовували одне і те саме.
Або я відкрию файл, і деякі рядки мають фігурні дужки на тому ж рядку, що і умова, а інші мають їх у наступному рядку. Знову ж таки, я не заперечую, який з них, поки вони однакові.
Я порушив питання стандартів своєму прямому керівнику, один на один і на групових зборах, і він не надто переймається цим (є кілька інших, які поділяють таку ж точку зору, як і я). Я висловив своє особливе занепокоєння щодо символів відступу, і він подумав, що кращим рішенням буде "створити якийсь сценарій, який міг би перетворити все, що ми натискаємо / витягуємо з репо". Я підозрюю, що він не хоче змінюватись, і це рішення видається надмірно складним і схильним до проблем технічного обслуговування в дорозі (також це стосується лише одного прояву більшого питання).
Чи хтось із вас стикався з подібною ситуацією на роботі? Якщо так, як ви впоралися? Які б хороші моменти допомогли продати мого начальника за стандартами? Чи може почати рух «корінців» для створення стандартів кодування серед тих, хто нас цікавить, гарною ідеєю? Я занадто особливий, я повинен просто відпустити це?
Дякую всім за ваш час.
Примітка: Дякую всім за чудові відгуки до цих пір! Щоб було зрозуміло, я не хочу диктувати один стиль, щоб правити ними всі. Я готовий визнати свій вподобаний спосіб зробити щось на користь того, що підходить усім найкращим. Я хочу послідовність і хочу, щоб це була демократія. Я хочу, щоб це було групове рішення, з яким всі згодні. Щоправда, не кожен здобуде свій шлях, але я сподіваюся, що всі будуть досить зрілі, щоб піти на компроміси для покращення групи.
Примітка 2: Деякі люди захоплюються двома наведеними вище прикладами. Мені більше до вподоби питання. Це проявляється на багатьох прикладах: називання конвенцій, величезних функцій, які слід розбити, чи має щось перейти в утиліту чи послугу, чи має бути константа чи ін'єкція, чи всі ми повинні використовувати різні версії залежності чи однакові, чи Інтерфейс, що використовується для цього випадку, як слід встановити одиничні тести, що слід перевірити на одиниці, (специфічно для Java), чи слід використовувати анотації або зовнішній конфігурацію. Я міг би продовжувати.