对于程序员经常提到的“代码”,从某种程度上来讲就算是机器码,因为这个东西机器很擅长读,不论写的怎么乱,怎么压缩混淆,在机器看来都是一样的,而人就不一样了,哪怕是能力再强的程序员,代码长一点,乱一点,再加上不写注释,想必看了这样的代码他们也会不由的皱一皱眉头,这就是人与机器的区别,正因为这样,我们才会在程序员的圈子中经常看到有人吐糟一些代码,近期就有一名程序员网友就给我们晒出了一段代码。
看他晒的代码是一段前端的js代码,看上去排版还算是工整,不过亮点是没有注释,另外据这名网友说,不止这一段代码是这样,像这样的足足500行是没有一点注释的,这名网友就问,如果是这种情况的代码,如果丢给你,你会怎么去改?抛开他这个问题,我看了一下这段代码貌似不应该是原始代码,比如一些变量的名称都是单个字母的,很有可能是经过压缩工具处理过的,格式是重新排版的,针对这样的情况,让我们一起看看其他网友们都是什么样的观点吧!
网友一:这是压缩过后的,找个工具还原一下,慢慢看呗
上世是朵花:可是那个自定义变量貌似是无法还原的。
网友二:做逆向还原的就是丢一个二进制文件,不要说注释没有,符号也没有,连对象取成员都是指针加偏移,一层套一层。你这个好多了
上世是朵花:没错,这个还好吧,毕竟每个方法也不是很长,算是醋和能看吧
网友三:还好吧…命名都还正常 没有什么AABBCC的
上世是朵花:命名不算是正常吧,除了一些系系统变量外,你看看那些自定义变量都是一个字母呀,这很有可能是被压缩过的代码。
网友四:用字母给个备注也好阿我的天
上世是朵花:这应该是压缩过的代码又进行了一次格式化,注释自然也没有了。
网友五:所以说大前端太复杂了……离开前端好多年还是不敢直视
上世是朵花:这算是留下的阴影吗?代码恐惧症?
网友六:js的面向对象,基于原型的,还好吧!慢慢看!
上世是朵花:相对来说还好吧,比后端一些代码的大长方法好多了。
网友七:这代码很干净啊
上世是朵花:是很干净,很纯的代码,除了代码没有掺杂任何其他东西。
网友八:一个方法8百行,一个循环500行,了解下。
上世是朵花:可以想象,看有没有注释了,虽然是挺长的,有注释就相对好一点,不过这么长的方法真是不太友好。
这样的代码吧,我看了之后得出的结论是,这并不是原始的代码,看自定义变量都是单个字母那种,我想没有哪个程序员会变量名称都起一个字母的习惯吧,这显然是已经过压缩工具处理后的代码,与压缩代码不同的是,这个格式上是整体的,那么很有可能是压缩的代码又格式化处理了一下而已,还好这代码的每个方法不是很长,并且都是些js对象,不过没有注释再加上这样的变量,让看代码的人从一定程度上来说,会比较吃力一点,我想这名网友可以问问其他人,也许有可能找到原始代码哦。起码原始代码中自定义变量都是见名知意的哪种,也就相当于注释了,如果原始代码再有大量的注释,那就更好了。读起来就更加轻松。
以上所有图片均来之互联网
大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧!
网友评论