你见过的代码漂亮到什么程度?

2021-10-22科技447

不同程序员

写代码确实有很大的水平差异,代码格式、算法优劣,这些都能够反应一个人的代码水平,我就记得学生时代有个同学,他写的前端代码就是要比我们都写得好一些,写出来的界面也更美观和合理一些,这就属于天赋。今天就说三段代码吧,这三段代码真的是我觉得非常有意义的代码,或者说我认为很漂亮。

王垠的40行代码王垠这个人,这两年想必大家听得比较少了,不过至少在我读书那个年代,是听到过不少的故事的,作为一个CS专业的科班生,我自己也算是骄傲的,但是不得不说王垠确实还是让我很佩服,得承认王垠确实是个很有才华的人,甚至可以说他在这个行业算是一个天才,也是因为性格的原因,他没能取得什么代表性的学术成就和工业成就。

王垠这几行代码,说实话作为一个半吊子的Lisp和Scheme函数式编程业余爱好者,我大多数时间也只是用Emacs写C/C++代码而已,不太可能用太多时间来学习函数式编程,不过用我仅有的一点知识来看,王垠这段代码确实还是很出色的,我甚至认为王垠厉害之处不在于他精妙地实现了CPS算法,而是他的思维能力确实不错。

去年王垠去了阿里面试,是曾经在Facebook工作过的赵海平亲自面试,大家也都知道赵海平在阿里的职级是P10,面试之后王垠对于赵海平颇有微词,甚至上升到了对阿里的不满,这次面试不光是闹得不慌而散,最终还嫌弃了一番热议,后来赵海平还亲自出来解释。

vi写下第一行可视“Hello World”想必大家都知道肯汤普森,就是和丹尼斯里奇一起开发了C语言和Unix系统的那位大神,可以说肯汤普森是我们这个行业的祖师爷了。

那时候没有可视化的环境,老爷子也没能给Unix打造一个可视化的开发工具,后来老爷子回到自己的母校加州大学伯克利分校,他还在那里开了课,在机房闲逛的时候,老爷子随手写了一个Pascal编译器,不过因为时间紧确实不太完善,一个叫做Bill Joy的学生发现了这个编译器的问题,他就着手想把这个编译器改好。

改这个编译器,那时候也没有可视化IDE继承开发环境,Bill Joy同样用的是老爷子写的EX编辑器,很快他就把这个Pascal编译器改好了,改好了之后深受伯克利学生喜欢,不过他开始对ex编辑器不满了,于是他就给ex编辑器加了可视化模式,这个编辑器一直演化,最终也就成为了现在的vi编辑器,后来发展成Vim已经很完善了,Vim是跟Emacs齐名的文本编辑器。

Google C++ Style每一个程序员都应该养成好的代码习惯,《代码大全》、《编程珠玑》、《代码之美》等等这些都是帮你养成好的代码习惯的书籍,还有些大名鼎鼎的《C陷阱》、《Effective Java》等书籍,这些书籍又能够帮助你很好的规避开发风险。

除了这些之外,我觉得Google C++ Style是每一个程序员都应该看的,Google的C++代码规范可以说是目前为止全行业最好的工业代码规范,是Google多年来C++大厂工业实践留下的精华,基本上该注意的,能够回避的坑基本上都帮你解决掉了。一个优秀的程序员,你的代码一定要是可维护的,可读性还要高,Google C++代码规范能够很好的帮你养成好的代码习惯。

在我看来程序员不管是从事科研还是立足于工业,都应该有一个原则,那就是写有价值的代码,不管是做学术产品还是做工业产品,尽可能为你写过的代码负责,要写可维护的代码,保障你写过的代码是可读性很高的,这样的代码才是真正漂亮的代码。

本文为作者EmacserVimer 原创文章,未经允许 、抄袭必究!

相关文章

海关代码是什么意思?

由于信息化及海关报关自动化需要,海关为此设置很多数量代码。502这个代码要看是填制在报关单什么栏目的,在不同的栏目位置表示的意思是不一样的。如果在“出口口岸”栏目,就是海关口岸关区代码,502代表:太原机场海关如果在“征免性质”一栏,502代表:来料加工如果在“抵运国或地区”,则代表:美国另外,50...

谁知道辐射3全版最强武器是什么,是不是外星的?

第一件:叫做:自由激光炮。(代码:00033FE2)没有办法截图,因为看不见武器,但是武器就是最后兄弟会的那个超大机器人用的那个蓝色激光炮,所有敌人一炮即粉碎。 第二件: 小型核弹的霰弹发射器,叫做:实验型MIRV。 (代码:0003422B) 同样是小型核弹发射器的样子,但是一次发射N枚小型核弹,...

网捷贷显示es421是什么情况?

1.申请网捷贷提示信息“您的贷款申请审批未通过”错误原因:与系统数据不匹配等后台交易错误。 错误代码包括:370、512、522、533、542。 2.申请网捷贷提示信息“您的贷款申请审批未通过”错误原因:客户当前信用贷款余额或在我行的贷记卡透支或分期金额较大,导致客户可贷金额低于产品授信额度下限。...

网上有一些做兼职的工作?

也跟个人兴趣爱好有关.1目前最流行的就是淘宝易趣开店了,当然,还可以在拍拍.2如果你是个灌水狂人或者在论坛方面有资历和浓厚兴趣的话,可以去兼职一个某大论坛的版主,可以挣一点点零花钱(当然,首先是要有资历或者混熟了)3甚至可以搞一个播客上面放google或者其他的网站的广告,这个最方便,一天连维护都不...

什么是国家代码,国家代码有什么用途,各国的国家代码是什么?

ISO3166-1  这个标准定义了大部分国际普遍公认的国家和境外领土,其中包括了以下三种格式:  *二位字母代码(ISO3166-1alpha-2)  *三位字母代码(ISO3166-1alpha-3)  *三位数字代码(ISO3166-1numeric)  一些代码和应用亦建基于二位字母代码,例...

有哪些优美的代码?

感谢你的邀请。作为一个10几年的码农来说,见过的优美的代码太多了。 什么是优美的代码?就我经常用的Java,Swift和JavaScript来说更是举不胜举,但总体来说,我喜欢的优美的代码会有以下特点: 整洁:注重代码格式,去除无用的声明,依赖等。 可读:可读性强,包括有意义的命名,清晰的逻辑,适当...

博客网页错误

  你好,我可以回答你的问题,我的BLOG中写了“ 博客秘籍与常见问题解答(大全)”和“新浪博客装饰宝典(第一期至第十六期)”,供大家查阅,对初学者及待升级博客用处极大,在里边你几乎可以找到你需要的所有问题,并且“大全”还在不断地更新,解答的问题也会越来越多。 欢迎光临 方法:进入我的博客点击左侧"...

技术一般的程序员未来出路在哪里?

年龄大的普通程序员,将来的出路无非就是以下三个: 稳定地待在一家公司,有一定产出效率,成为一颗螺丝钉,不出彩也不出丑,就像之前棉纺厂的工人那样,直到这家公司不行了,找另一家,继续做个普通一兵。其实这事儿和几十年前的工人一样,只是时代不一样,职业的名字变了。寻找相对优势,到稀缺你技术、能力、经验的地方...

宝马X1的VIN宝马宝马VIN码在哪?

 VIN(Vehicle IdentificATion Number),中文名叫车辆识别代码, 是制造厂为了识别而给一辆车指定的一组字码。VIN码是由17位字母、数字组成的编码,又称17位识别代码、车架号或17位号。车辆识别代码经过排列组合,可以使同一车型的车在30年之内不会发生重号现象,具有对车辆...

Script Editor 是什么东东?他和 FrontPage 有关系吗?

微?發展給 VBScript ?S玫木??器??Microsoft Visual InterDev 6.0 ,由於是英文付費?體,且??體多拿?戆l展 ASP 程式,故使用上不太能輕易上手   有灌 FrontPage 2003 的網友可能?⒁獾剑?Office 2003 全系列的?鹘y巨集工作...