摘要: 在五四青年节之际,社区发起了来晒晒属于你的“第83行”的活动,活动中邀请业界的大牛、大神们来晒代码或者Review代码!第一波邀请的大神就是阿里研究员福贝。
最近社区有个很火的《向代码致敬,寻找你的第83行》的活动,缘起于前几天,在阿里巴巴的一个小黑屋里,5名对代码有着极致追求的程序员参与了阿里代码领域最高荣誉“多隆奖”最终角逐(多隆作为淘宝的第一代程序员,也是很多技术人心中的大神)。那天代码评审现场,看到某代码片段最后结尾,多隆突然补上一句,往上翻看下第83行。代码一般都是几百行,他看到最后,居然还记得第83行的一个细微瑕疵,这得是对代码怀着怎样的敬畏之心。
于是,在五四青年节之际,社区发起了来晒晒属于你的“第83行”的活动,活动中邀请业界的大牛、大神们来晒代码或者Review代码!第一波邀请的大神就是阿里研究员福贝。
@技术福贝 晒出了如下代码:
我用一个小演示程序来解释一下 C++11/14 里的 closure 是可以多么的“爽” :-)
范例里面,我们要写的 DoSomething() 需要做两件事情,Calculate() 算出一个矩形的四个顶点,然后 DrawRect() 去画它。这样的情况在实际代码中很常见,一个函数因为复杂,要分几步去做,最好分成几个子函数。但是问题是需要传递好几个参数,头痛了!第一种写法,无奈之下只能把所有参数一一列出,然后 header 里就多了个 Calculate(......) 长长的子函数,需要传进传出多个变量。
有了 closure 就好办多了!我们可以在 DoSomething() 里直接定义 Calculate(), 用 [&] 把所有 variables on the stack 传进去。整个写法简洁很多,也易于维护,一方面参数的增删不再需要更多的工作,另一方面,更为重要的是,Calculate() 已经完全定义在 DoSomething() 里面了,从结构上直接告诉读者它们的从属关系!(NOTE: 当然也可以用一个 inner function 来写,可是参数传递不够爽)
现在,连 header 都显得如此整洁,只有 DoSomething() 这一个函数了。向代码致敬!
其他社区网友这样晒码,大家快来围观点评吧
1、@故事老神仙-接触建站开始一直玩到了现在的一个网站代码的第83行,是一行普通的代码,没有特别的地方,但不由让自己想起了当初的那份热爱,那份期待,那是初接触代码的小惊喜小激动。
https://yq.aliyun.com/roundtable/67516#answer-146773
2、@黄一刀-我的83行代码是注释
https://yq.aliyun.com/roundtable/67516/?spm=a2c4e.11154000.rtdmain.115.438a18a844ewV0&order=score&type=&p=1#answer-146842
3、@微wx笑-十二年前写过一个流量统计,最近想把它改一改再用起来,随便打开一个类,没有任何注释,你们看得懂不?
https://yq.aliyun.com/roundtable/67516#answer-146527
4、@海洋的云-感觉确切来说应该是第83段,自从用了Jupyter Notebook,“代码行”就全部变成“代码段”了,/(ㄒoㄒ)/~~
https://yq.aliyun.com/roundtable/67516#answer-146546
5、@浮生递归-什么?居然暴露了自己的CSS命名不规范!不行,我得再贴段来证明下,有时候还是规范的~比如483行附近代码!
https://yq.aliyun.com/roundtable/67516#answer-146557
6、@gfriend_24-最初的代码片段(入门Android开发时的BMI计算程序代码)
https://yq.aliyun.com/roundtable/67516#answer-146498
7、@三忌-这是我12年写的代码……
https://yq.aliyun.com/roundtable/67516#answer-146590
8、@海阔天空yy-以下是我写的一个,用来测试redis集群的测试程序 https://yq.aliyun.com/roundtable/67516#answer-146532
9、@尼古拉斯雷-看了那个阿里巴巴的那个开发手册,然后就知道如何去优化这些代码,如何去规范的定义变量名之类的
https://yq.aliyun.com/roundtable/67516#answer-146477
相关推荐
- **在线品牌资产管理**:作为品牌视觉及数字营销解决方案供应商,欧赛斯致力于构建中国第一个在线品牌资产管理平台。 - **标准化设计交付**:提供标准化的在线设计交付服务,确保设计的一致性和高效性。 - **...
- 第三套全国中小学生广播体操《七彩阳光》。 5. **组织方式**: - 以班级为单位参赛,全体学生参与,设有领操员,班主任需随队。 6. **比赛方式**: - 一次性决赛,现场公布结果。 - 四列纵队入场、退场,可...
宠物行业在中国正在迅速崛起,随着宠物在社会中的角色和地位的改变,越来越多的资本开始涌入这一领域。资本的注入不仅推动了行业的发展,也催生了一系列的融资事件,尤其是在宠物食品、宠物医疗和宠物电商等细分市场...
通过这些分析,德邦证券的这份报告为投资者提供了宠物食品行业的全景视角,从产业链分析、商业模式、产品趋势到品牌发展,再到国内外市场动态,报告提供了一系列深入的见解和建议,帮助投资者更好地理解这个不断增长...
方正证券研究所通过对国内宠物行业的深度研究,出具了一份题为“***-方正证券-新消费行业宠物系列研究之四(国内融资篇):资本助力,哪些宠企能够乘风破浪?”的行业专题报告,本报告旨在从资本的视角分析宠物行业...
先正达集团作为全球第三大农化企业,专注于植保、种子、作物营养及现代农业服务解决方案。其A股上市是该行业的重要事件,因为它带来了新投资机会,并且其独特的业务内容和技术储备有助于推动综合农服一体化企业的...