美化 C++ 代码以在条件语句中添加括号
Posted
技术标签:
【中文标题】美化 C++ 代码以在条件语句中添加括号【英文标题】:Beautify C++ code to add brackets to conditional statements 【发布时间】:2010-09-24 10:29:56 【问题描述】:如何?我需要做的是改变:
if ( myCondition )
setDateTime( date, time );
到
if ( myCondition )
setDateTime( date, time );
但我必须这样做数百次。我使用了AStyle,但我找不到如何使用它。
除了满足客户的编码标准之外,我想这样做的原因是我必须用setDate( date )
和setTime( time )
替换某些调用,例如上面对setDateTime( date, time )
的调用,我可以很容易地做到这一点正则表达式,但最终是这样的:
if ( myCondition )
setDate( date );
setTime( time );
显然不对!!!
【问题讨论】:
我不知道这方面的工具。重新正则表达式替换,您总是可以替换 setDate(date); setTime(time);
- 如果有额外的
和
级别也没关系。
现在我们已经知道我们应该首先使用方括号 :) 在旁注中,如果你可以控制setDateTime
,我想你可以修改它来调用@分别是987654332@和setTime
?
@Michael:很好,也感谢 Steve Jessop 指出这一点。我的客户正在从一个子系统转移到另一个子系统,理想情况下,最好彻底休息一下并使用没有任何“帮助程序”的新 API 使其看起来像旧 API。这些都很好,但是当没有人知道为什么要引入帮助器时,可能会让人感到困惑(顺便说一下,setDate 等只是示例,而不是涉及更多的真实事物。)也就是说,这一切都归结为以多快(阅读:便宜)可以做到这一点。
【参考方案1】:
static inline void setDateTime(date, time) setDate(date); setTime(time);
关于if
:astyle 选项--add-brackets
与brackets=break
结合是否对您不起作用?当我使用 astyle 时,我发现很难让它完全按照我的意愿去做。因此,如果您要使用它,最简单的方法是根据一组 astyle 参数定义编码风格指南,然后使用 astyle 来强制执行它们。
我并没有被不一致的风格所困扰,我个人认为这是值得的,但是客户总是勉强容忍对。
【讨论】:
谢谢,看起来 --add-brackets 似乎完全符合我的要求。也就是说,我还没有尝试过。非常感谢。【参考方案2】:s/setDateTime(date, time)/ setDate(date); setTime(time); /
【讨论】:
谢谢。当然,这确实有效,但是它具有奇怪但通常无害的副作用,即 all setDateTime() 调用即使不是有条件的也会被括起来。在这再次通过 AStyle 之后,生成的代码看起来很奇怪 - 没有明显原因的中间代码块。 这不是简单的文本替换,宏是干什么用的?在某种程度上,他们是为了任何事情,我的意思是 ;-)以上是关于美化 C++ 代码以在条件语句中添加括号的主要内容,如果未能解决你的问题,请参考以下文章