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

IT多巴胺


漂亮来衡量,我也不知道该从什么角度出发,对于我来说,可能是我入门编程时,学习的第一个程序是我眼里最漂亮的。

public class HelloWorld {

public static void main(String[] arts) {

System.out.println(“Hello World!”);

}

}

手机手写的,希望木有bug哈,你们学习的第一个程序是什么呢?🤔️


罗小黑爱编程


这样漂亮吗



白菜大叔傻乎乎


当年见到王垠的40行CPS代码确实是被其优美所震撼:

另外,Scheme 作为 编程语言中的皇后,其代码本身就是 极度漂亮了的,在加上 组合子的 逻辑,就可以得到极致优美的代码:

附上组合子的测试代码:

当然,那些基于《λ-演算》用于构造 计算机语言的代码也是极度优美的,例如:

最后,Scheme 中 还有很多 堪称经典的 优美代码,有兴趣大家可以自行百度,这里就不一一枚举了。


思考思考的动物


一个具有十多年经验的老码农来强答一下:


很多朋友发的答案看起来很酷炫,但那些都是逗乐的,并无实际应用价值、甚至在实际的项目是都是有百害而无一益的代码。


各种语言的代码观感肯定是不一样的,但我认为美的代码的标准应该是共通的。漂亮的代码应该是整洁干净、朴实易读的,代码不仅在命名、排版方面要做到最好,同时在健壮性上也应该毫不妥协,有能力处理各种异常情况,能经受住时间的考验。


我个人见过实际生产代码中最漂亮的应该是开源的 PostgreSQL 数据库的源代码,排版编写上完全符合整洁、易读的要求,同时作为数据库系统,健壮性也是其存在价值的根本需求。


下面截取几段给大家欣赏:




命叔炸机


直接看图吧,学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<math.h>

//三维坐标转二维坐标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) \t(int)(x2-x1), \t(int)(y2-y1), \t(int)(z2-z1)

//获取空间平面的法向量

#define NORMALLINE(x1,y1,z1,x2,y2,z2) \t(int)(y1*z2 - y2*z1), (int)(x1*z2 - x2*z1), (int)(x1*y2 - x2*y1)

//获取空间向量的夹角

#define VECTORCOS(x1,y1,z1,x2,y2,z2) \t((x1*x2 + y1*y2 + z1*z2)*1.0 /\t(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) \tctype vtype name; public: \tvoid set##name(vtype elem){this.##name=elem;} vtype get##name(){return this.##name;}



Ice2Faith


这是著名“心形线”java代码

百岁山的广告看过吧!可能很多人并没有看懂。我来普及一下。

讲的是52岁的笛卡尔和18岁的瑞典公主克里斯丁的忘年爱情故事。笛卡尔是克里斯丁的数学老师,他们在相处的过程中,慢慢产生了感情。公主的父亲发现了以后大怒,将笛卡尔流放回法国。回国以后的笛卡尔每天给公主都写信,但是一直没有得到公主的回信。笛卡尔写给公主的最后一封信只有一个公式。这就是数学界著名的“心形线”

r=a(1-sinθ)


阿迈达聊技术


这是一个心型代码:

#include <mathr.h>

#include <stdio.h>

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 ;

}


唯美橘子君


Haskell的快排.



心如止水230574190


前言

软件工程师之于代码的审美,就好比于人之于美的定义。随着阅历的增加,人对美的观点会发生变化。同样,软件工程师至于代码的审美,也会随着不同的成长阶段而发生着变化。


下面我们从以下三个阶段来看看代码漂亮的定义标准:

1.零基础

2.入门级

3.中高级


零基础

零基础在我们还未进入软件行业时,软件对于我们而言,充满着神秘和好奇。对于零基础阶段的我们来说,能编写并运行第一个程序,就是很大的一种满足。因此,在零基础阶段,我们会认为能输出一个Hello World就是一段最漂亮的代码。


入门级

在经过零基础的洗礼之后,我们便进阶到入门级。在入门级中,我们会根据公司任务需求来进行开发。此时,对于入门级别的我们来说,能在规定时间内把公司分配的任务给完成,就是一种很大的成就感。所以,对于入门阶段的我们来说,完成功能性需求的代码就是一种美。


中高级

在经历过入门级洗礼后,我们已足够胜任自己手头的工作。此时,我们的眼光便不再局限于功能性的开发。取而代之,追求的是代码的高内聚,低耦合和扩展性等标准,以此来更好适应未来业务的拓展需求。在此阶段,我们认为:代码的高内聚,低耦合以及易于扩展等标准就是一种美。


总结

以上就是我所认为的软件工程师在不同阶段对于代码美的一种审读标准。如果你有不同见解,欢迎在评论区留言评论。


如果你喜欢我的文章或观点,记得点赞关注。不定期分享好玩科技知识,带大家一起体会探索科技的那份独有思考和乐趣。


drinkingcode


见到很多人,甚至是领导级别的动不动就说注释,巴不得每行有注释,这些人完全没有意识到命名,规范比起注释重要太多了。这些人肯定没看过源码。个人认为接口,方法,关键成员变量上有注释就ok了,更需要注意的是命名和规范


分享到:


相關文章: