1. 花瓣女神首页
  2. 悦己派对
  3. 看世界

你见过的编码好看到哪些水平?

不一样程序猿

敲代码的确有非常大的水准差别,代码格式、优化算法好坏,这种都可以反映一个人的编码水准,我也还记得大学时代有一个同学们,他写的前端代码便是要比大家都写的好一些,写出去的页面也更美观大方和有效一些,这就归属于技能。今日便说三段编码吧,这三段编码真的是我认为十分更有意义的编码,换句话说我觉得很美。

王垠的40行编码

王垠这个人,这2年想来大伙儿听得较为少了,但是最少在我念书那时候,是听见过许多 的小故事的,做为一个CS技术专业的科班出身生,自己也算作自豪的,可是不得不承认王垠的确還是要我很钦佩,得认可王垠的确是个很有才气的人,乃至可以说他在这一制造行业算作一个奇才,也是由于性情的缘故,他未能获得哪些象征性的学术研究造就和工业生产造就。

王垠这两行编码,说真话做为一个吊儿郎当的Lisp和Scheme函数式程序编写业余组发烧友,我大部分時间也仅仅用Emacs写C/C 编码罢了,不大可能用过多時间来学习培训函数式编程,但是我用仅有的一点知识看来,王垠这一段编码的确還是很优异的,我乃至觉得王垠强大的地方不取决于他绝妙地完成了CPS优化算法,只是他的思维逻辑的确非常好。

上年王垠来到阿里面试,是以前在Facebook工作中过的赵海平亲身招聘面试,大伙儿也都了解赵海平在阿里巴巴的职务级别是P10,招聘面试以后王垠针对赵海平颇有微词,乃至升高来到对阿里巴巴的不满意,此次招聘面试不仅是闹得不急而散,最后还看不上了一番强烈反响,之后赵海平还亲身出去表述。你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

vi写出第一行可视性“Hello World”

想来大家都了解肯伦纳德,便是和丹尼斯里奇一起开发设计了C语言和Unix系统软件的这位高手,可以说肯伦纳德是大家这一制造行业的祖师了。

那时沒有数据可视化的自然环境,老头也没能给Unix打造出一个数据可视化的开发环境,之后老头返回自身的我的母校美国加州大学伯克利大学,他依然还在那边开过课,在主机房游逛的情况下,老头随手写了一个Pascalc语言编译器,但是由于時间紧的确不太健全,一个叫做Bill Joy的学员发觉了这一c语言编译器的难题,他就下手想把这个c语言编译器改好。

改这一c语言编译器,那时都没有数据可视化IDE承继开发工具,Bill Joy一样用的是老头写的EX在线编辑器,迅速他就把这个Pascalc语言编译器改好啦,改好啦以后备受伯克利大学学员喜爱,但是他刚开始对ex在线编辑器不满意了,因此他就给ex在线编辑器加了数据可视化方式,这一在线编辑器一直演变,最后也就变成了如今的vi编辑器,之后发展趋势成Vim早已很健全了,Vim是跟Emacs并称的文本编辑。你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

Google C Style

每一个程序猿都应当培养好的编码习惯性,《代码大全》、《编程珠玑》、《代码之美》这些这种全是帮你培养好的编码习惯性的书本,还一些赫赫有名的《C陷阱》、《Effective Java》等书本,这种书本又可以协助很好的的避开开发设计风险性。

除开这种以外,我认为Google C Style是每一个程序猿都应当看的,Google的C 代码规范能够 说成迄今为止全制造行业最好是的工业生产代码规范,是Google很多年来C 大型厂工业生产实践活动留有的精粹,大部分该留意的,可以逃避的坑大部分都帮你处理没了。一个出色的程序猿,你的编码一定如果可维护保养的,易读性也要高,Google C 代码规范可以非常好的帮你培养好的编码习惯性。你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

我认为程序猿无论是从业科学研究還是着眼于工业生产,都应当有一个标准,那便是写有使用价值的编码,无论是做学术研究商品還是做工业品,尽量给你写过的编码承担,要写可维护保养的编码,确保你写过的编码是易读性很高的,那样的编码才算是真实好看的编码。

文中为创作者EmacserVimer悟空回答原创文章内容,没经容许转截、剽窃有法必依!


那样好看吗

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?


直接看图吧,学C/C 的标示define

黏贴回来代码比较杂乱:

//RGB 颜色变换

#define RGB(r,g,b) (((r)&0xff)|(((g)&0xff)<<8)|(((b)&0xff)<<16))

//ARGB 颜色变换

#define ARGB(a,r,g,b) (((r)&0xff)|(((g)&0xff)<<8)|(((b)&0xff)<<16)|(((a)&0xff)<<24))

#include

//三维坐标转二维座标X

#define D3TOD2X(x,y,z) (int)(x y/2.0*cos(atan2(1.0,1.0)))

//三维坐标转二维座标Y

#define D3TOD2Y(x,y,z) (int)(z y/2.0*sin(atan2(1.0,1.0)))

//三维坐标变换为二维座标X,Y

#define D3TOD2XY(x,y,z) (int)(x y/2.0*cos(atan2(1.0,1.0))),(int)(z y/2.0*sin(atan2(1.0,1.0)))

//获得室内空间两明确平行线的空间向量

#define VECTORLINE(x1,y1,z1,x2,y2,z2) (int)(x2-x1), (int)(y2-y1), (int)(z2-z1)

//获得室内空间平面图的法向量

#define NORMALLINE(x1,y1,z1,x2,y2,z2) (int)(y1*z2 – y2*z1), (int)(x1*z2 – x2*z1), (int)(x1*y2 – x2*y1)

//获得室内空间向量的夹角

#define VECTORCOS(x1,y1,z1,x2,y2,z2) ((x1*x2 y1*y2 z1*z2)*1.0 / (sqrt(pow(x1, 2.0) pow(y1, 2.0) pow(z1, 2.0))*sqrt(pow(x2, 2.0) pow(y2, 2.0) pow(z2, 2.0))))

//为类成员函数全自动加上get和set方式

#define CLASSVALUE(ctype,vtype,name) ctype vtype name; public: void set##name(vtype elem){this.##name=elem;} vtype get##name(){return this.##name;}

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?


一个具备十多年工作经验的老程序员来强答一下:

许多盆友发的回答看上去很炫酷,但这些全是逗笑的,并无具体运用使用价值、乃至在具体的新项目是全是有百害而无一益的编码。

各种各样語言的编码感观肯定是不一样的,但我觉得美丽的编码的规范应该是相通的。好看的编码应该是干净整洁整洁、质朴最易读的,编码不但在取名、排版设计层面要保证最好是,另外在可扩展性上也应当毫不妥协,有工作能力解决各种各样异常现象,能承受住時间的磨练。

我本人见过具体生产制造编码中最漂亮的应该是开源系统的 PostgreSQL 数据库查询的源码,排版设计撰写上符合实际干净整洁、最易读的规定,另外做为数据库管理,可扩展性也是其存有使用价值的压根要求。

下边提取几个给大伙儿赏析:

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?


你见过的编码好看到哪些水平?

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

它是知名“心形线”java编码

百岁山的广告宣传看了吧!将会很多人并沒有看懂。我普及化一下。

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

讲的是52岁的笛卡尔和18岁的瑞典公主克里斯丁的忘年爱情小故事。笛卡尔是克里斯丁的老师,她们在交往的全过程中,渐渐地造成了情感。小公主的爸爸发觉了之后大怒,将笛卡尔放逐回荷兰。归国之后的笛卡尔每日给小公主都寄信,可是一直沒有获得小公主的复信。笛卡尔写給小公主的最后一封信只有一个公式计算。这就是数学界知名的“心形线”

r=a(1-sinθ)

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?


当初看到王垠的40行CPS编码的确是被其幽美所震撼人心:

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

此外,Scheme 做为 计算机语言中的王后,其编码自身便是 极其好看了的,在再加 组成子的 逻辑性,就可以获得完美幽美的编码:

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

另附组成子的测试程序:

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

自然,这些根据《λ-演算》用以结构 编程语言的编码也是极其幽美的,比如:

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

最终,Scheme 中 也有许多 称得上經典的 幽美编码,有兴趣爱好大伙儿能够 自主百度搜索,这儿也不一一枚举类型了。


int main(int a,int b){

return 1;

}


这是一个桃心编码:

#include

#include

int main ()

{

float y , x , a ;

for ( x=-1.5f ; x<1.5f ; x 0.05f)

{

a=x*x y*y-1;

putchar (a*a*a-x*x*y*y*y<=0.0f ?'*' ; '' );

}

putchar(’\n’);

}

return 0 ;

}


荷兰著名小说家兼飞行家Antoine de Saint-Exupéry的说:“仅有在不但沒有一切作用能够 加上,并且都没有一切作用能够 删掉的状况下,室内设计师才可以觉得自身的工作中已臻极致。”

沒有最漂亮的编码,仅有最极致的程序流程。


序言

前端工程师对于编码的审美观,就如同于人对于美的定义。伴随着经验的提升,人对美丽的见解会产生变化。一样,前端工程师对于编码的审美观,也会伴随着不一样的成长过程而产生着转变。

下边大家从下列三个环节讨论一下编码好看的界定规范:

1.零基础

2.新手入门

3.高级

零基础

零基础在大家还未进到互联网行业时,手机软件针对大家来讲,填满着神密和好奇心。针对零基础环节的大家而言,能撰写并运作第一个程序流程,便是非常大的一种考虑。因而,在零基础环节,大家会觉得能輸出一个Hello World便是一段最漂亮的编码。

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

新手入门

在历经零基础的身心的洗礼以后,大家便升阶到新手入门。在新手入门中,大家会依据企业每日任务要求来开展开发设计。这时,针对新手入门其他大家而言,能在要求時间内把企业分派的每日任务给进行,便是一种非常大的满足感。因此 ,针对新手入门环节的大家而言,进行多功能性要求的编码便是一种美。

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

高级

在经历过新手入门身心的洗礼后,大家已充足担任自身手头上的工作中。这时,大家的目光便已不限于多功能性的开发设计。取代它的,追求完美的是编码的高内聚力,低耦合和可扩展性等规范,为此来更强融入将来业务流程的扩展要求。在这里环节,大家觉得:编码的高内聚力,低耦合及其便于拓展等规范便是一种美。

你见过的编码好看到哪些水平?你见过的编码好看到哪些水平?

小结

之上是我所觉得的前端工程师在不一样环节针对编码美丽的一种审读规范。假如给你不一样看法,热烈欢迎在发表评论留言板留言评价。

假如你喜欢我的文章内容或见解,还记得关注关心。经常性共享好玩儿科学知识,带大伙儿一起感受探寻高新科技的这份特有思索和快乐。


文章内容不代表花瓣女神观点,转载请注明出处:https://www.hblady.com/489866.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注