免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zhangsuozhu
打印 上一主题 下一主题

今天看到一家公司的源代码,我疯了! [复制链接]

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
61 [报告]
发表于 2010-11-14 20:05 |只看该作者
除了memset外,其他没啥大问题,很多代码都是不断修改的,而且会遗留很多debug的影子。将sql放到一个可写数组再执行与一个常量sql语句是不同的,调试起来更加方便。

例如存在下面的可能性
sprintf(buf, "select xxx from t where id = %d", i);
调试后
sprintf(buf, "select xxx from t");

论坛徽章:
0
62 [报告]
发表于 2010-11-14 20:18 |只看该作者
没什么只是效率低一点点。

论坛徽章:
0
63 [报告]
发表于 2010-11-14 22:23 |只看该作者
本帖最后由 bluesea666 于 2010-11-14 22:26 编辑
除了memset外,其他没啥大问题,很多代码都是不断修改的,而且会遗留很多debug的影子。将sql放到一个可写数组再执行与一个常量sql语句是不同的,调试起来更加方便。

例如存在下面的可能性
sprintf(buf, "select xxx from t where id = %d", i);
调试后
sprintf(buf, "select xxx from t");



    学习了!

论坛徽章:
0
64 [报告]
发表于 2010-11-14 22:28 |只看该作者
借这个问题,我也请教一下:我不记得在哪里看到过说"应该用snprintf()替代sprintf()来避免越界的问题",所以我都是用snprintf(),不知道这个说法是不是个good idea?性能上有多少损失?

论坛徽章:
0
65 [报告]
发表于 2010-11-14 22:36 |只看该作者
借这个问题,我也请教一下:我不记得在哪里看到过说"应该用snprintf()替代sprintf()来避免越界的问题",所以 ...
xiaoL 发表于 2010-11-14 22:28



    恩,是的.

   char buf[100];
   sprintf(buf,"%s",str);     //如果str的内容大于100,那么buf可能被填充越界.

   snprintf(buf, sizeof(buf), "%s", str);  //如果str的内容大于100,那么buf也不可能被填充越界.

论坛徽章:
0
66 [报告]
发表于 2010-11-14 22:37 |只看该作者
性能上的损失应该可以忽略.

论坛徽章:
0
67 [报告]
发表于 2010-11-15 08:56 |只看该作者
本帖最后由 zhoubug 于 2010-11-15 09:09 编辑

有可能人家开始用vc写,又不想用_snprintf 有何不可,至于保证正确性,让程序员做他自己需要做的事本来就是c的精神之一。难道楼主没见过几个历经很多年不断被一茬茬人维护的项目代码。
对于以往的项目很难搞清是在什么情况下有什么样一个程序员在他什么样一个技术阶段完成的,总之项目还在为老板挣钱就让他安全的跑着就好。真有能力,自己完全重构个认为好的,祖国如此
大好局面,自残就不必拉。我手头有很多个7,8年不知道多少人修改过的项目代码,唯有淡定,,debug的过程 代码是可以变的面目全非。

论坛徽章:
0
68 [报告]
发表于 2010-11-15 09:28 |只看该作者
以前我也写过这样的代码,现在看到就顺手改了呗,我觉得没什么,人都是一步一步进步的,这个跟嘲笑以前的自己没什么区别... 淡定!

论坛徽章:
0
69 [报告]
发表于 2010-11-15 09:42 |只看该作者
写了也没什么问题。。

人家要的是心里踏实

再说,这一点点对效率根本毫无影响,何必那么在意!

论坛徽章:
1
黑曼巴
日期:2020-02-27 22:54:26
70 [报告]
发表于 2010-11-15 09:43 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP