【问题标题】:c++ curly braces and comments [closed]c ++花括号和注释[关闭]
【发布时间】:2017-08-15 06:27:04
【问题描述】:

这里是 C++ 初学者。 我正在努力获得花括号 + //cmets 的最佳实践。

我看到定义上方的函数 cmets 通过将鼠标悬停在任何地方来提供 Visual Studio 检查实用程序。 但是当涉及到 if 语句和各种类型的语句时,我不知道什么对即将到来的项目最有帮助

所以,在

if (condition) {  // comment
    do something();
}

// comment
if (condition) {  
    do something();
}

if (condition) // comment
{  
    do something();
}

甚至以下一个(使用通常无用的换行符)

if (condition)
{  // comment
    do something();
}

对我来说,还没有明确的“啊,这个更好,因为 xyz”。

感谢您的远见!

干杯

【问题讨论】:

  • 如你所见,它与实际语义没有区别,所以这个问题真的只能用个人意见来回答;这显然是题外话。实际上,仅仅在他们应用的代码附近拥有有意义的 cmets 就比大多数人管理的要好。
  • @BoBTFish 这不是一个公平的假设,因为我的问题是关于未来的代码扩展,以及什么样的做法会给我带来更少的麻烦和更多的文件灵活性。
  • 我确实注意到,对于被设置的变量,无论是上面还是下面的 cmets 都提供了 Visual Studio 对它们的检查。
  • 代码格式样式通常被认为只是意见,这是题外话。但我想有一种可能的方法可以成为话题:关于工具支持编码格式样式的问题。例如IDE 如何解释 cmets 或帮助格式化。
  • @NickyC 您认为值得我更改问题以使其符合要求吗?只需将其锁定到 Visual Studio?

标签: c++ coding-style comments braces


【解决方案1】:

如果您正在处理个人/个人项目,那么上述任何一种方式都可以正常工作。但是,我个人会说,如果将 if 语句写成如下形式,我认为它们看起来更具可读性:-

if ( a > 10 )
{
    std::cout << "a is above 10" << std::endl;
}

或者单行:-

if ( a > 10 )
    std::cout << "a is above 10" << std::endl;

除非在团体或组织中工作,否则可能需要遵守规则/标准/惯例。

【讨论】:

    【解决方案2】:

    此示例的处理方式可能不同,具体取决于注释是应用于条件还是块。第一种情况通常表明条件可能相当复杂,将其重构为单独的变量或使用适当命名的单独方法是有意义的,因此注释(如果仍然需要)将应用于此变量或方法。第二种情况通常表明您在该块中做一些复杂的事情,并且将块重构为具有正确命名的单独方法是有意义的,因此注释(如果仍然需要再次)将应用于此方法。请注意,引入具有专有名称的单独实体通常完全不需要注释。

    花括号没有通用的方法,你可能会遇到各种疯狂的花括号放置。有些人甚至会捍卫这种多元化。当内容不适合一行时,我更喜欢将匹配的大括号对齐 - 水平(即在同一行)或垂直(即具有相同的缩进)。而且这条规则适用于所有大括号,而不仅仅是花括号。

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 1970-01-01
      • 2014-04-23
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 2021-03-26
      • 2014-02-16
      • 1970-01-01
      相关资源
      最近更新 更多