【发布时间】:2012-02-01 20:52:23
【问题描述】:
许多选项包括Force 值选项:
在嵌套括号之间添加或删除空格
sp_paren_paren{Ignore,Add,Remove,Force}
这是什么意思?和Add有什么区别?
【问题讨论】:
标签: code-formatting uncrustify
许多选项包括Force 值选项:
在嵌套括号之间添加或删除空格
sp_paren_paren{Ignore,Add,Remove,Force}
这是什么意思?和Add有什么区别?
【问题讨论】:
标签: code-formatting uncrustify
添加的意思是“如果不存在则添加”,这意味着如果某些东西已经存在,则保留它(以及单独的格式)。强制意味着如果不存在则添加,如果存在则重新格式化:
// 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();
}
【讨论】:
Add 如果不存在则添加。
Remove 如果存在则删除。
Force 执行 remove 然后是 add。
【讨论】:
作为“在 A 和 B 之间添加或删除 X”
Add:只有在没有X出现的时候才加aX
AB -> AXB
AXB -> AXB
AXXB -> AXXB
Remove: 删除所有出现的X
AB -> AB
AXB -> AB
AXXB -> AB
Force: 正如 edwinc 所说的 Remove 然后 Add -> 首先删除所有(任何)X 并
最后添加 a X
AB -> AXB
AXB -> AB -> AXB
AXXB -> AB -> AXB
但有时“添加 X”可能被定义为在别处添加一些数字 X,因此 Force 会喜欢 Chris 所说的“重新格式化”。
【讨论】: