0

我将数据库值保存在一个变体中。在您看来,以下哪个 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;
4

1 回答 1

3

它们都没有意义。什么是值或类型?只是抽象的名字。最好用更具体的名称来命名它们,例如 ObjectState 或 PacketField。诸如类型之类的名称没有任何意义,当您命名变量时,认为其他人可以阅读并理解它的含义,当您忘记您做了什么时,您必须记住它是什么,并且不要阅读一堆代码来理解这种类型的用途。

有关变量命名和软件工程的更多信息,您可以购买由Steve McConnell编写的精彩书籍Code complete

于 2012-10-11T08:45:18.520 回答