包含下划线的名称的技术原因?

10 c++

scoped_lock在Boost库中(例如)名称中使用下划线是否有任何技术原因?为什么不称它为'ScopedLock?

请注意我不是在询问文体原因.

Mat*_*ler 21

Boost Library要求和指南,

鉴于有意为下一版C++标准库提出部分提升,boost决定遵循标准库的约定.

  • @Dennis Zickefoose:匹配库的一致性,这样你就可以毫不费力地融入它,对我来说听起来非常技术性.一个风格的原因是因为他们认为标准库的方法看起来不错. (7认同)
  • C++ 0x标准库有一个_ton_函数和带下划线的类(我确信C++ 03也是如此,但它没有C++ 0x FCD所具有的方便的"库名称索引") ,所以它不是那么明显). (4认同)

Joh*_*itb 13

没有技术原因.如果你忽略了风格的原因,你也可以写作scopedlock,istreamiterator也可以.

  • 对于任何对我的回答感到不安的人:我将他解释为最终询问下划线 - 而不仅仅是在升级库中.所以boost跟随C++库 - 但C++库遵循哪种风格?当然不是C库,它使用`strtol`样式(而不是`str_to_l`或`strToL`样式).最终,它完全是关于风格. (5认同)

kri*_*iss 9

可读性如果你可以称之为技术......空格通常是禁止的,而下划线是最接近的匹配.骆驼的案例很难阅读(通常是作为一种惯例保留给班级).

  • 你是我遇到的第一个说骆驼案很难读的人.我个人认为使用下划线而不是很刺耳.我更喜欢骆驼的情况. (4认同)
  • @rmeador:我相信你是来自多数人,但我远远不是唯一一个发现CamelCase难以阅读的人.我在这个主题上看到的最好的例证如下:i_find_it_is_much_easier_to_read_something_in_underscores_than_in_camel_case但是,然后我要知道你应该知道你想要什么. (2认同)

Pot*_*ter 5

通过在单独的单词之间创建更多空间,下划线改善了与人类神经硬件的接口.

我小时候常常喜欢camelcase,有一个小显示器和小手.不过,我大部分时间到了.