- 主题:enum or int?
最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,可以配置每一个模块,用固定的函数,参数是int。
结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替换的(比如显卡),但是每个具有不同的状态数量。我的第一感觉就是,用enum不可行,因为需要在写程序的时候把json里面的字符串换成enum,然后我会有一些map,把上面来的指示的参数映射到enum,比如数据结构是
{系统模式(上面来的指令参数)1,设备A,enum 状态A1},{系统模式(上面来的指令参数)1,设备B,enum 状态B1}
这里面A1和B1是不同的类型,这个数据结构都没法构造,因为不同设备的enum空间不同。而且没法扩展。就是说,我基本上需要给每个设备写一个enum到字符串的映射程序。还不如直接用整数。
--
FROM 72.197.247.*
int看来更好。但是事实建议是:只要不是完全走不通,那就谁approve代码听谁的。
【 在 bihai (new half life) 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,可以配置每一个模块,用固定的函数,参数是int。
:
: 结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替换的(比如显卡),但是每个具有不同的状态数量。我的第一感觉就是,用enum不可行,因为需要在写程序的时候把json里面的字符串换成enum,然后我会有一些map,把上面来的指示的参数映射到enum,比如数据结构是
:
--
FROM 223.104.31.*
有些人上来写代码过度优化,需求不确定就各种封装,等真用的时候就各种重构。
【 在 bihai 的大作中提到: 】
:
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,可以配置每一个模块,用固定的函数,参数是int。
:
: 结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替换的(比如显卡),但是每个具有不同的状态数量。我的第一感觉就是,用enum不可行,因为需要在写程序的时候把json里面的字符串换成enum,然后我会有一些map,把上面来的指示的参数映射到enum,比如数据结构是
:
#发自zSMTH-v-@OPPO PBAM00
--
FROM 223.104.42.*
从设计上,我支持用enum字符串。json本就是为可读而生。
实现容不容易那是另外一回事。
如果我是领导,我就发表一下意见,最后由开发人员自己决定。
你这个项目,如果额外代码很少,就听领导的。而且很多语言本身就支持enum字符串。
【 在 bihai 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,可以配置每一个模块,用固定的函数,参数是int。
:
: 结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替换的(比如显卡),但是每个具有不同的状态数量。我的第一感觉就是,用enum不可行,因为需要在写程序的时候把json里面的字符串换成enum,然后我会有一些map,把上面来的指示的参数映射到enum,比如数据结构是
: ...................
--来自微微水木3.5.14
--
FROM 183.193.16.*
enum +1
【 在 bihai 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我 ...
--
FROM 221.218.143.*
正常来说能用enum的全部用enum
没有任何理由用int
如果有老代码用了int
新代码也用个converter转换成enum
多接口需要不同enum就全部拍扁定义一个集中的enum,至少在converter里统一管理
不然后期维护没有任何可读性,所有用到的地方都要写注释,简直是开玩笑
converter没有任何开发和运行代价
多写这么几行代码就要抱怨的
难道平时写的都是什么mini规模代码么。。。
【 在 bihai (new half life) 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,可以配置每一个模块,用固定的函数,参数是int。
:
: 结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替换的(比如显卡),但是每个具有不同的状态数量。我的第一感觉就是,用enum不可行,因为需要在写程序的时候把json里面的字符串换成enum,然后我会有一些map,把上面来的指示的参数映射到enum,比如数据结构是
:
--
FROM 111.193.225.*
用enum的好处是容易在编译和运行中发现错误。
【 在 bihai 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,可以配置每一个模块,用固定的函数,参数是i
: ..................
发自「今日水木 on MI 8」
--
FROM 221.218.70.*
和Lead会面啥意思?
【 在 bihai 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,
: 梢耘渲妹恳桓瞿?椋霉潭ǖ暮问莍nt。
: 结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替
: ...................
--
FROM 141.11.108.*
以我有限的经验,可能更支持enum
理由是,这种对接第三方接口的程序,通常会前置一个adapter,用于处理不同接口/规范/协议等,再由adapter返回标准数据给后端模块
【 在 bihai 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,可以配置每一个模块,用固定的函数,参数是int。
: 结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替换的(比如显卡),但是每个具有不同的状态数量。我的第一感觉就是,用enum不可行,因为需要在写程序的时候把json里面的字符串换成enum,然后我会有一些map,把上面来的指示的参数映射到enum,比如数据结构是
: {系统模式(上面来的指令参数)1,设备A,enum 状态A1},{系统模式(上面来的指令参数)1,设备B,enum 状态B1}
: ...................
--
FROM 125.84.160.*
一个参数后面有多种设备
每个设备取值范围还不一定
这还要用int简直是自讨苦吃
【 在 bihai 的大作中提到: 】
: 最近在搞一个项目,需要和不同的模块接口,这些模块是管理不同的硬件的,比如设备的性能等。那么就需要调节的频率电压什么的。我就想写一个程序,读入一个配置文件,是json格式,里面写上控制的数据即可。这样,可以控制不同的设备。我们另一个人开发的接口,是有一个程序,
: 梢耘渲妹恳桓瞿?椋霉潭ǖ暮问莍nt。
: 结果和Lead会面,他上来就说,用enum(调用那个人的接口的时候转换成int)。我觉得有没有搞错。又发给我一个别人写的文档,说enum的好处。我看出来,那是给不变的设备用的,比如某个设备就开关两个状态,就写OFF, ON。但是,我这些设备有些是多个状态。有些设备,是互相可替
: ...................
--
FROM 220.200.25.*