我在变体中保存数据库值。您认为以下哪种typedef最有意义:
typedef boost::variant<int, bool, std::string> Value;
typedef boost::variant<int, bool, std::string> Values;
typedef boost::variant<int, bool, std::string> Type;
typedef boost::variant<int, bool, std::string> Types;
答案 0 :(得分:3)
他们都没有意义。什么意味着价值观或类型?只是抽象的名字。更好地用更具体的名称命名它们,例如ObjectState或PacketField。诸如类型之类的名称没有任何意义,当你为变量命名时,认为其他人可以阅读并理解它的含义,当你忘记你做了什么时,你必须记住它是什么,不要读一堆代码来理解这种类型。
有关变量命名的更多信息以及有关软件工程的更多信息,您可以购买由Code complete撰写的精彩书籍Steve McConnell。