免费注册 查看新帖 |

Chinaunix

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

[C] [C实现]条件表达式的执行顺序是固定的吗? [复制链接]

论坛徽章:
0
111 [报告]
发表于 2012-09-29 13:43 |只看该作者
回复 110# pmerofc


    请讲讲,学习

论坛徽章:
0
112 [报告]
发表于 2012-09-29 13:44 |只看该作者
starwing83 发表于 2012-09-29 13:42
回复 104# wwwsq



我带过几个从华为出来的人,基本功还是不错的。所以我觉得华为那边还是有点水平的。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
113 [报告]
发表于 2012-09-29 13:44 |只看该作者
回复 106# wwwsq


    你懂发布流程?

写这种代码,就算commit hook没查出来,事后被人看到也是绝对要受惩罚的。

入库的代码发现这种,无论如何都是必须要改的,这种代码要修改的优先级是很高的。

而且这事儿根本就不是发布流程,如果没入库,这是开发流程,如果入库,这是维护流程,你懂么?

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
114 [报告]
发表于 2012-09-29 13:45 |只看该作者
回复 112# wwwsq


    基本功是还行,但是过度设计现象非常严重,而且不善于利用现有条件。他们劳动力还是太廉价了,想怎么搞怎么搞。

华为薪酬很高的,除非是不适应他们的野狼文化或者是末位淘汰,很少有自己跳出来的。难不成你招到的都是华为出来的废柴?

论坛徽章:
0
115 [报告]
发表于 2012-09-29 13:46 |只看该作者
starwing83 发表于 2012-09-29 13:44
回复 106# wwwsq



发布流程不仅仅是点点按钮,还包括你要讲述你对代码的理解,以及你修改的原因和思路。

连编译环境都不知道,连代码都没读懂(不要说什么UB,项目重构的时候不管老代码UB与否的),你怎么保证重构后的代码与老代码是逻辑等价的?



论坛徽章:
3
巳蛇
日期:2013-10-03 10:41:48申猴
日期:2014-07-29 16:12:04天蝎座
日期:2014-08-21 09:24:52
116 [报告]
发表于 2012-09-29 13:47 |只看该作者
OwnWaterloo 发表于 2012-09-29 13:36
谁要去猜编译器怎么工作了? 这种事只有你才做, 正常人都不会做的好吗?
别以为其他人都和你一样欠逻 ...

他意思应该是要表达..
有段这种很难搞的代码已经跑在线上了,现在让我来改,我不知道这段代码会跑出来什么,所以会去实际测试一下,通过这个来了解这段代码的意思..

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
117 [报告]
发表于 2012-09-29 13:48 |只看该作者
wwwsq 发表于 2012-09-29 13:34
对于晦涩的代码,不同的人会有不同的预期。比如“x = (++i = i++)”这种。

bool a();
void b();
void c();

a()?b():c()

即使是上面这样简单的代码,也会有人误解。

这样的误解会对项目造成伤害。

你可以说误解的人水平次,但你的能力仅此而已吗?如何规避对项目的伤害?


别再有意无意的歪曲到"x = (++i = i++)"上了就对了。

而对"a()?b():c()", 有人误解那真是活该。



顺带给你找几个:

  1. // glibc argp-help.c

  2. /* Iterator that returns true for the first short option.  */
  3. static inline int
  4. until_short (const struct argp_option *opt, const struct argp_option *real,
  5.              const char *domain, void *cookie)
  6. {
  7.   return oshort (opt) ? opt->key : 0;
  8. }
复制代码

  1. // apr apr_md5.c apr_md5_final
  2.     padLen = (idx < 56) ? (56 - idx) : (120 - idx);
复制代码

  1. // sgi stl stl_tree.h

  2.   ::insert_equal(const _Value& __v)
  3. {
  4.   _Link_type __y = _M_header;
  5.   _Link_type __x = _M_root();
  6.   while (__x != 0) {
  7.     __y = __x;
  8.     __x = _M_key_compare(_KeyOfValue()(__v), _S_key(__x)) ?
  9.             _S_left(__x) : _S_right(__x);
  10.   }
  11.   return _M_insert(__x, __y, __v);
  12. }
复制代码
这些代码都别去看了,通篇都是误解。

论坛徽章:
3
巳蛇
日期:2013-10-03 10:41:48申猴
日期:2014-07-29 16:12:04天蝎座
日期:2014-08-21 09:24:52
118 [报告]
发表于 2012-09-29 13:49 |只看该作者
pmerofc 发表于 2012-09-29 13:43


&&有
&应该没有吧..

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
119 [报告]
发表于 2012-09-29 13:49 |只看该作者
回复 115# wwwsq


    ????你确定你说的是发布流程?

发布流程,说明的是你对功能的改进,而不是对实现的改进。

发布的时候要提交一份清单,里面的类别是优化修改新增,是功能上的描述。

对实现的描述,那是每周的设计讨论会的内容,跟发布半毛钱关系都没有。还有,难道你从来不写VCS的日志??

对于逻辑等价,每段新代码都要有测试样例。提交VCS的时候会自动编译并跑过所有样例才会允许你真的提交,这是华为的制度,你带过华为的人你不知道??

论坛徽章:
0
120 [报告]
发表于 2012-09-29 13:50 |只看该作者
starwing83 发表于 2012-09-29 13:45
回复 112# wwwsq



这个我就不知道了。那几个人不是我招的。

华为薪酬很高吗?工号一万以内,有股票的人才薪酬高吧?另外华为好像喜欢自己内部提拔,高级岗位好像比较少社招。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP