Подтвердить что ты не робот

Что делает "Сила" в Uncrustify?

Многие опции включают параметр значения Force:

Добавить или удалить пробел между вложенными parens

sp_paren_paren {Ignore, Add, Remove, Force}

Что это значит? Чем он отличается от Add?

4b9b3361

Ответ 1

Добавить означает "добавить, если он еще не присутствует", что означает, что если что-то уже существует, оставьте его (и только форматирование). Сила означает добавить, если нет, и переформатировать, если она присутствует:

// Original
if (cond)         {
    func();
}

// Add curly braces (already present, leaves formatting alone)
if (cond)         {
    func();
}

// Force curly braces
if (cond) {
    func();
}

Или другой пример:

// Original
if (cond)
    func();

// Add curly braces
if (cond) {
    func();
}

// Force curly braces (behaves just like add in this case)
if (cond) {
    func();
}

Ответ 2

Add добавляет, если его нет.

Remove удаляется, если он есть.

Force делает a Remove, тогда a Add.

Ответ 3

Как "Добавить или удалить X между A и B"

Add: добавляет только X, когда не появляется X

AB -> AXB
AXB -> AXB
AXXB -> AXXB

Remove: удаляет все появившиеся X

AB -> AB
AXB -> AB
AXXB -> AB

Force: как edwinc сказал Remove, то Add → Удаляет все (любые) X первые и       добавляет X наконец

AB -> AXB
AXB -> AB -> AXB
AXXB -> AB -> AXB

Но иногда "добавить X" можно определить как добавить некоторое число X в другое место, поэтому Force понравится "переформатировать", как сказал Крис.