有5条裤衩了 散分 换头像 顺便说说公司常见的雷人代码

Meteor_Code 2011-05-20 11:47:16
终于有5条裤衩了,如果你们看我不是5个三角就当看花眼
5条裤衩,工作日每天换一条,周6,日不穿内库

说说公司常见的雷人代码,写这些代码的人上至自称5年以上工作经验,下至刚毕业的...
看看各位有没有碰到这种情况.
要找工作的大学生们注意,你们进入企业后,可能会碰到更雷的,做好心理准备.


1,认为sizeof(char*)==sizeof(char[])的
我修改过几个bug,是这样的
char *pchar = new char[100];
strncpy(pchar, psrc, sizeof(pchar) - 1);
pchar[sizeof(pchar) - 1] = 0; //还知道有这会事,我很感谢
我就不明白char *pchar = new char[100]这句都写100了,strncpy(pchar, psrc, sizeof(pchar) - 1)这里写99能累死?
最后导致拷贝的名字被缩短......

2,线程参数放在栈上的
int fun_begin_xxx_thread(.../*一些参数*/)
{
STRUCT_XXX obj_thread_arg;//一般obj_thread_arg中一般都会有指针成员,或者CString,std::string
//一些参数处理,和obj_thread_arg的初始化
CreateThread(0, 0, thread_fun, (void*)&obj_thread_arg, 0, &id);
return ret_value;
}
我曾经见过有人这么启动线程,然后程序崩溃,还问:"怎么会崩溃".我非常无语.......
thread_fun这个线程的寿命一般会比创造它的函数fun_begin_xxx_thread长的多,里面大多是循环执行的任务.thread_fun的线程参数是obj_thread_arg,这个结构被定义在了栈上.thread_fun线程在运行的时候fun_begin_xxx_thread函数反回,obj_thread_arg被析构,里面的CString,std::string类型析构,指针变无效,如果进入thread_fun线程没有及时保存,里面还象pobj_thread_arg->pointer这样使用必然出错.

3,滥用stl的
最常见的就是这种map<CString, STRUCT_XXX*>.定义没什么问题但是,最后用完不释放second.second是自己分配的,STRUCT_XXX指针只是指向这个对象,不能析构的.它和map<CString, void*>没有任何区别,就是帮你在编译的时候检查一下类型.

4,滥用mfc容器的
CStringList这个用的最多,释放的时候非常有趣,这个类本身相当于一个map<int, CString>.他自己就会析构所有的CString,我见过很多次有人不厌其烦的用个循环,一个一个Remove,最多一个RemoveAll就ok了.

..........
各位当笑话看吧
...全文
367 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2011-05-22
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 meteor_code 的回复:]

引用 26 楼 yang122610 的回复:

楼主头像荡漾、、、工程
眼镜哇?
/\ /\
\ _____\
(_)-(_)

是的,自己做的法系眼镜
[/Quote]
lz 牛人,up~
Meteor_Code 2011-05-22
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 yang122610 的回复:]

楼主头像荡漾、、、工程
眼镜哇?
/\ /\
\ _____\
(_)-(_)
[/Quote]
是的,自己做的法系眼镜
pmars 2011-05-22
  • 打赏
  • 举报
回复
过来看看,乐了!
xiamoamao 2011-05-21
  • 打赏
  • 举报
回复
夜猫子路过~
说什么好呢~顶一个吧~
贪食蛇男 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 akirya 的回复:]

第一条确实不应该出现。。
[/Quote]
第二条也确定不该出现。
shun_qizi_ran 2011-05-21
  • 打赏
  • 举报
回复
顶起!接分学习!
fcly1981826ly 2011-05-21
  • 打赏
  • 举报
回复
V5,,,,,,,,,,,
Meteor_Code 2011-05-21
  • 打赏
  • 举报
回复
自己顶啊
  • 打赏
  • 举报
回复
楼主厉害。
booxiong 2011-05-21
  • 打赏
  • 举报
回复
我以后也搞几条累人的代码上来!呵呵
AnYidan 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 meteor_code 的回复:]
没有人要分了吗??
[/Quote]

我接着
冻结 2011-05-21
  • 打赏
  • 举报
回复
帮顶,
动感超哥 2011-05-21
  • 打赏
  • 举报
回复
楼主头像荡漾、、、工程
眼镜哇?
/\ /\
\ _____\
(_)-(_)
谁学逆向工程 2011-05-21
  • 打赏
  • 举报
回复
祝你好运
ouyh12345 2011-05-21
  • 打赏
  • 举报
回复
Meteor_Code 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 tompaz 的回复:]

挺假的,前两天调试直接出错
4估计不习惯用cstringlist吧
[/Quote]
工作几年?做好心理准备吧
tompaz 2011-05-21
  • 打赏
  • 举报
回复
挺假的,前两天调试直接出错
4估计不习惯用cstringlist吧
zykxi 2011-05-21
  • 打赏
  • 举报
回复
看看 了解 学习
Meteor_Code 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kid_coder 的回复:]
LZ 威武~
[/Quote]
说我V5的是认为我的头像威武,还是。。。

liutengfeigo 2011-05-21
  • 打赏
  • 举报
回复
那些不爱代码的人,确实可恨
加载更多回复(13)
下载前可以先看下教程 https://pan.quark.cn/s/9d4e8a61cc07 标题 "eleme:修改元素ui框架原始代码,fork自花裤衩后台项目" 包含了若干核心信息。 "eleme" 指代一个UI框架,该框架很可能基于Vue.js的Element UI,后者作为一款广受欢迎的前端开发框架,主要面向企业级后台管理系统的构建。 "修改元素ui框架原始代码" 表明我们将探讨对这一框架的源代码进行个性化调整,以满足特定项目的要求。 "fork自花裤衩后台项目" 则揭示了这个项目以名为"花裤衩后台项目"的另一个源码库为基础发展而来,可能在原有基础上进行了功能拓展或界面优化。 在介绍中,并未提供其他额外细节,因此我们将注意力集中在标签 "系统开源" 上。 这表明该项目采用开源模式,用户拥有查看、应用、调整和传播源代码的权限。 开源软件的益处包括其公开透明性、高度可定制性以及社区支持,开发者能够借此学习、优化并分享他们的成果。 文件清单 "eleme-master" 通常代表一个GitHub仓库的副本,其中收纳了"eleme"项目的主分支代码。 此目录可能包含以下布局:1. `src`:存放源代码的目录,涵盖组件、样式、脚本等。 2. `examples`:提供框架使用方法的示例性应用。 3. `docs`:文档存放地,可能包含API文档、指南和教程。 4. `public`:存储静态资源,如CSS、图像和字体。 5. `tests`:包含单元测试和集成测试,旨在保证代码质量。 6. `package.json`:记录项目依赖和配置,涉及npm包和脚本指令。 7. `README.md`:概述项目简介和使用方法。 当对Element UI进行改造时,开发者可能会关注以下方面:1. **组件个...

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧