gpt4 book ai didi

c++ - C++ 中变量、方法等的良好命名约定是什么?

转载 作者:IT老高 更新时间:2023-10-28 13:23:27 25 4
gpt4 key购买 nike

我来自 Objective-C 和 Cocoa 世界,那里有很多约定,很多人会说它让你的代码更漂亮!现在用 C++ 编程我找不到像这样的 C++ 好的文档。

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html

标准 C++ 可能没有像上面这样的东西,但我希望我能坚持一些其他的 SDK 或 API(比如微软的(?)等)约定。

希望你能给我一些链接。

最佳答案

做任何你想做的事,只要它最小、一致和doesn't break any rules .

就我个人而言,我觉得 Boost 风格最简单;它与标准库匹配(给代码一个统一的外观)并且很简单。我个人分别为成员和参数添加 mp 前缀,给出:

#ifndef NAMESPACE_NAMES_THEN_PRIMARY_CLASS_OR_FUNCTION_THEN_HPP
#define NAMESPACE_NAMES_THEN_PRIMARY_CLASS_OR_FUNCTION_THEN_HPP

#include <boost/headers/go/first>
#include <boost/in_alphabetical/order>
#include <then_standard_headers>
#include <in_alphabetical_order>

#include "then/any/detail/headers"
#include "in/alphabetical/order"
#include "then/any/remaining/headers/in"
// (you'll never guess)
#include "alphabetical/order/duh"

#define NAMESPACE_NAMES_THEN_MACRO_NAME(pMacroNames) ARE_ALL_CAPS

namespace lowercase_identifers
{
class separated_by_underscores
{
public:
void because_underscores_are() const
{
volatile int mostLikeSpaces = 0; // but local names are condensed

while (!mostLikeSpaces)
single_statements(); // don't need braces

for (size_t i = 0; i < 100; ++i)
{
but_multiple(i);
statements_do();
}
}

const complex_type& value() const
{
return mValue; // no conflict with value here
}

void value(const complex_type& pValue)
{
mValue = pValue ; // or here
}

protected:
// the more public it is, the more important it is,
// so order: public on top, then protected then private

template <typename Template, typename Parameters>
void are_upper_camel_case()
{
// gman was here
}

private:
complex_type mValue;
};
}

#endif

那个。(就像我在评论中所说的那样,不要为您的代码采用 Google 样式指南,除非它与命名约定无关紧要。)

关于c++ - C++ 中变量、方法等的良好命名约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3706379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com