Как мне показать, что я получаю наименьшее количество конфликтов с Git, используя K & R вместо B & D в качестве стандарта кодирования? - PullRequest
2 голосов
/ 06 апреля 2011

Git умен и будет «следить» за изменениями в истории, чтобы упростить слияние и автоматически слить для меня.Конфликты очерчены линиями, которые не изменились вокруг изменений.С K & R вы не получите двусмысленных строк, в которых есть только "{", как в B & D.Как бы я протестировал предел чувствительности к контексту, который есть у Git с точки зрения линий, окружающих изменение?

Я хочу избежать разрешения конфликтов, которые мне могут не понадобиться.Но мне нужен какой-то способ проверить, сколько потенциальных конфликтов я спасу, переключившись на K & R и дополнительный контекст, который он приносит.

Пока что Git слишком умен, чтобы одурачить тривиальные примеры.

Любая помощь приветствуется.Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Итак, это самое близкое, что я нашел в качестве доказательства этому.
http://git.661346.n2.nabble.com/Bram-Cohen-speaks-up-about-patience-diff-td2277041.html

В электронном письме обсуждается назначение алгоритма «терпения» в Git. В ней Брэм объясняет, как лишние совпадающие линии могут создавать неприятные конфликты, которые трудно решить, но только в случае довольно сложных слияний, включающих большие участки. Другими словами, простые надуманные примеры не смогут показать это поведение.

Хотя он также упоминает такие вещи, как «Конец», влияющие на результаты, имеет смысл сделать вывод, что размещение открывающей скобки на своей собственной линии увеличивает количество лишних совпадающих линий, что может привести к большей вероятности этих конфликтов.

Я бы сказал, что это не железная обшивка, но она придает некоторую достоверность этой теории.

Таким образом, «уникальные линии» - это простой междисциплинарный прокси для «неважного» линии.

Эта цитата выделяется мне в этой дискуссии, поскольку мы в основном сопоставляем то, что, по нашему мнению, являются важными линиями, которые должны дать нам контекст, однако сама по себе фигурная скобка не важна и не предоставляет контекста.

0 голосов
/ 06 апреля 2011

У нас есть несколько крупных проектов (более 200+ кодовых файлов), которые содержат обширную смесь как K & R, так и B & D.Я могу с уверенностью сказать, что после почти 2 лет работы в Git, с безумным рефакторингом, и уклончивым поведением «несколько раз в день», у меня никогда не возникало конфликтов из-за стандартов кодирования.Так что выбирайте, какой или оба, или ни того, ни другого.Это не имеет значения.

0 голосов
/ 06 апреля 2011

Выберите стандарт, который вам / вашей команде будет легче читать по всему остальному. Независимо от того, как ваша система управления исходным кодом ведет себя сегодня, она будет вести себя лучше завтра, но ваш код останется таким, каким вы его проверяли в течение длительного времени.

...