这篇文档将提供一些正则表达式替换组合,协助您的代码通过cpplint的检查,减少您的工作量。以ST作为示例
\<(if|while|for)(?: {2,}|)\(
→\1 (
\)(?: {2,}|)\{
→) {
([;,])([\+\-a-zA-Z\_\&\*\!\(\-\+)])
→\1 \2
\t
→([^ ]|[\da-zA-Z\_])(\|\||\&\&|\+\+|\-\-|/\*|\*/|<<|>>|\%\=|//|[\+\-\*\/\!><\=\|\&\^]\=?)([^ ]|[\da-zA-Z\_\(])(?!$)
→\1 \2 \3
这个组合并不是十分完美,对于头文件引用和模板声明的语句会错误的处理,使用这个组合之后注意手动修改。(\)|[\da-zA-Z\_])(?: {2,}|)\{
→\1 {
\}(?: {2,}|)([\da-zA-Z\_])
→} \1
(\+\+|\-\-) {2,}([\da-zA-Z\_])
→\1\2
([\da-zA-Z\_]) {2,}(\+\+|\-\-)
→\1\2
% {2,}([ulfdI\.])
→%\1
$
→(empty)
\!(?: {2,})([\da-zA-Z\_\(])
->!\1
建议按照顺序进行替换,可以写成python脚本进行自动替换,这些组合不能为你解决所有的问题,但是可以大幅减轻代码规范化的工作量,如果您的代码风格很糟糕(像我一样),这些组合是十分适合您的,但仍需要您参照cpplint给出的意见进行少量的手动修改
欢迎丰富并纠正这些组合!