Выполнение при изменении форматирования исходного кода?
Принимается ли практика принятия, даже когда вы просто изменяете такие вещи, как пробелы, форматирование кода и т.д.?
Ответы
Ответ 1
Да. Если вам нужно делать изменения в пробелах, их использование в отдельной фиксации, содержащей только этот вид очистки, является наилучшей практикой. Это позволяет избежать проблем с попыткой выяснить, какая часть гигантского различия является фактическим изменением кода, а какая часть - только форматирование (косметические) изменения.
Тем не менее, вы должны стараться свести эти изменения к минимуму и делать это вообще, когда это необходимо и совместимо с любыми стандартами кодирования, которые используются в вашей компании/сообществе/проекте и т.д.
Ответ 2
Да! Да! В качестве отдельной фиксации, пожалуйста!
(Эти виды исправлений, как правило, касаются большого количества кода, и люди должны знать, есть ли фиксация/changeet/patch/что-то там исключительно для переформатирования, без изменений, предназначенных для фактического кода.)
Ответ 3
Да, при условии, что существует определенная согласованность между различными репозиториями, в противном случае это сделает любое слияние, которое намного сложнее сделать, из-за конфликта из-за форматирования.
По крайней мере, отдельная фиксация помогает идентифицировать реальный источник потенциального конфликта в течение этого будущего слияния.
Если это не ваш "код" (т.е. какое-то другое репо с другим стандартом форматирования придется объединять обратно, что вы делаете), вы можете воспользоваться git драйвер фильтра атрибутов и его механизм smudge/clean.
![smudge]()
(Источник: Pro Git book: Настройка Git - Git Атрибуты)
Вы можете применить свой формат к коду во время шага смазывания и повторно применить стандартный формат стандарта во время чистого шага.
Ответ 4
G'day,
Да. Но, пожалуйста, сделайте это как выделенный коммит с сообщением о том, что у вас
- изменено форматирование,
- запустите код через форматировщик кода, например. Perltidy, с примечанием о фактически используемой настройке,
- и др.
Ничего хуже, чем изменение форматирования в сочетании с функциональными обновлениями, поэтому различие между версиями обеспечивает низкое соотношение S/N!
В стороне, мне интересно, почему вы вносите изменения в форматирование существующего кода. Он не должен был быть проверен, если он был отформатирован в первую очередь!
Там нет ничего хуже, чем работать с кем-то, кто проходит через меняющийся форматированный источник только по другим причинам:
- они думают, что фигурные скобки принадлежат строке "if", или
- им не нравятся "обнимаемые elses", или
- и др.
- и др.
Такие религиозные выражения "одного истинного стиля" обычно противоречат отсутствию опыта кодирования и опыта работы в команде.
НТН
веселит,
Ответ 5
В ответах, уже приведенных здесь, хорошо объясняется, почему это может быть проблемой для фиксации изменений форматирования. Я думаю, что одним из решений будет поддержка редактора, позволяющая увидеть красиво отформатированный код, минимизируя при этом изменения форматирования при сохранении файла.
Я задал соответствующий вопрос об этом в...
Если найдутся хорошие ответы, зрители этого вопроса также могут быть заинтересованы.