- 主题:重构了屎山代码
说不定每个人看别人的代码都是有点shi的
我觉得有点shi的,现在能忍就忍,没工夫去理
之前是发现有个类,被搞成单例,但是每个成员都是static,没忍住,把static全都去掉了。这纯粹是c++还没入门的写的,但是没人干活,还得顶上
--
修改:z16166 FROM 114.240.244.*
FROM 114.240.244.*
是设计了一个类为单例,有getInstance()方法,然后这个类的内部成员全都是static成员,无一例外。
还有声明std::string时用""初始化的,比如std::string s = "";传递string时不用引用。这些都属于C++没入门的,可能是java阵营转过来的。
你看楼主在5楼贴的那个例子: QString strUnpacketData = "";
【 在 Maxlander 的大作中提到: 】
: 厉害,单例模式,你把变量都去掉static??
--
修改:z16166 FROM 114.240.244.*
FROM 114.240.244.*
我现在全部用early return,不过前提是所有资源必须用RAII管理。
全都是early return的话,会到处都是这种语句。还是给这种语句弄个宏不那么扎眼,但宏容易出现类型转换的隐蔽错误。返回std::optional能让编译器帮忙检查类型。
if (!xxx)
return yyy;
xml/json反序列化,还是弄个库比较好,即便是C++还没官方的反射。手写这种解析的纯粹是堆代码行数,还容易出错。
tuple正常绝大部分都应该是struct吧,不然谁记得住哪个元素在tuple中的下标
【 在 iwantfly 的大作中提到: 】
: bool CUSBLProcess::ReplyTransponderState(QByteArray byUSBLData)
: {
: bool bParseOK = false;
: ...................
--
修改:z16166 FROM 114.240.244.*
FROM 114.240.244.*
static成员是crt init时构造,单例一般是搞成第一次引用时构造
【 在 GoGoRoger 的大作中提到: 】
: 别的不说,static 效率稍微高那么一丢丢吧?
发自「今日水木 on M2007J17C」
--
FROM 114.240.244.*
看明白了再起哄,哈
【 在 poggy 的大作中提到: 】
:
: 呵呵,这个纯粹是功夫不到家,手欠,容易制造塌方类型的
--
修改:z16166 FROM 114.240.244.*
FROM 114.240.244.*
看清楚了哦,他是单例类里的每个member variable都是static的。
这是不必要的。
【 在 poggy 的大作中提到: 】
:
: static 在处理单例模式时是必要的, 能保证数据内存在数据区,
: 另外, 重要的指针成员如果需要频繁访问更改, 还应该加上volatile,
: ...................
--
FROM 114.240.244.*