技术解析

接到了一份另类的垃圾代码
0
2021-06-01 10:50:26
idczone

是一份小程序。

代码命名很规范,功能抽象做的也很好,代码结构也很漂亮,代码复用做的也很到位,但是这东西能跑起来,真他妈是个奇迹。

主要问题出在,

  • 这兄弟完全不考虑 渲染过程 /生命周期,数据驱动视图的过程。

网速的不同,手机性能的不同,会看到不同的表现,在 Android 和 iso 上表现更加诡抗投诉服务器异的不同.

取回来个列表 用 foreach 更新视图?? 直接 set a=b,不香吗?

ajax 回来的东西,直接取值,我寻思你家网速 比内存寻址 还快??

修改 v-if=true 然后 直接操作 dom,咋想的??

你这个 settimeout 我只在 笑话 里见过,真他妈长见识了。

  • 诡异的样式继承 和 冗余的元素,依赖 js 进行的页面布局

我可搞不明白为什么 Android 样式没问题,ios 有问题,ios 9 没问题 ios 10 有问题,

我也搞不明白,这个.container 一会儿 block 一会儿 felx,一会儿 position:abs,扔到全局样式,还他妈在页面重写,是为什么

这个 view-〉 view-〉 view -〉 正文内容 是什么鬼? view-〉正文 不香吗?

我还他妈搞不明白 为什么 page height:100% 就能解决的 问题,非他妈要在 js 取个 pageHeight 修改 dom style


遇到这些问题导致的 bug,半天能找出来问题算快的,我可真佩服写这个代码的小天才。一个基本功这么优秀的人,是怎么写出来这种东西的。。


就是这样的,所以卷起来了

很正常 可能是学生写的. 喜欢搞骚操作..

大概率是大佬起头写的框架和基本结构,交给其他人接手后续开发和维护了

这兄弟可能是转行过来的,代码从别的地方拷贝过来修改的

提高自身的不可替代性

也有可能是后端突然呗拉取做小程序

后端写前端的可能性比较大。。

曾经我也遇到过类似风格的代码,一份外包写的项目,用的是 angularjs+jquery+jquey mobile 数据驱动+原生 dom 操作+jQuery dom 操作加 jQuery 修改 angularjs 的 model 呆了半个月实在受不了跑路了,最后还是被强留半个月改了好多东西



呃,可能是跨端,我们这边的混合开发 er 会写出这样的代码,这个小哥会 Android 原生和 Flutter,Objective-C 和 Swift,也会 Vue 和 React,同时也会写微信 /支付宝小程序,现实增强也会,所以代码风格会....突然某一部分的代码转不过弯来用其它平台的 Coding 方式绕一个弯.....

后端写前端基本就这情况

哈哈哈,优秀

还有一个项目,用的 Php+vue,我接手的时候听项目描述没问题啊,结果是 Laravel 的 View 层 嵌了 Vue 的 .vue 文件 ...还不用编译 .vue 文件,我至今没有明白他是怎么实现的.....

这应该是典型的“从网上找了个源码,各种拼凑缝合”

喷就对了,有些人本身就不适合做开发, 比如我。

js 取可视区域高度再修改样式其实很常见啊,存在局部滚动的时候必须这么搞....当然你吐槽的具体是什么 case 我也不清楚

view 本来就可以直接在 html 中引用的,而 php 的视图模板文件可以随便改后缀的,这个也算是正常。

iso 哈哈 我佛了


同。遇到过这样的项目,是真的恶心。不只恶心在代码,还恶心在公司打完基础就把大佬开了,兔死狗烹。

半斤八两

每个人代码风格和代码逻辑都不一样, 除非设计文档有详细的流程图,可以确保代码大致一样, 否则千人千面了. 每个开发人员知识结构都不一样, 都是用自己最熟悉的知识点去开发. 你不能要求别人根据你了解的知识点去开发.
下次接收你的代码的人, 估计也会这么说你.

如果文件内格式是 Vue 的,那还是需要 build 的,只是 laravel 自带的 mix,不用配置太多东西,直接 npm build 就可以了

有的地方我好像页这么写的,不过我是个后端,组里一个前端也没有还要开发个 APP 出来。

写代码不都这样吗?有一个能跑就行。(狗头)

“我可搞不明白为什么 Android 样式没问题,ios 有问题,ios 9 没问题 ios 10 有问题”
>> 作为一个后端,一直认为这是常态,自己写前端挫败感就在这。调了一天把一个本来就没什么问题的东西,让某个机型也可以显示了,而这个适配过一段时间又会因为新版本的系统又会出现,感觉非常没有意义。

程序员由于理解的局限性写出各种代码很正常,我很难认同这种公开指责别人的行为,尊重一个你认为不如你的人很难吗?而且这也只是一个经验问题,并不能说明人家不如你。

六字真言送给你。

还有一个 felx

@superliwei

我能理解 ,接手代码改的全是 bug 让人心里抓狂,发泄一下情绪也是可以的

不要这么苛刻,后端写前端,能运行起来就不错了

这样就有不可替代性了, 建议多和"老员工"学学

能用就行

vue 的 template+script+style 格式,改后缀还是要编译啊....

作为后端,兼职前端取列表确实是 foreach...确实不精都是仿着别人写

直接用带编译器版本的 vue 就行

你这一说我看到了 laravel-mix 这个依赖。之前我还疑惑呢,说 /resources/assets 下也没有 package.json 和 node_modules 这两个东西啊

前端卷吧卷吧卷吧,不是罪。

vue 可以 runtime compile 的。

我听着就是后端去写的前端。
抽象和命名基本功在。
但是对 js+vue+小程序这一套东西的细节不了解。
而且不太会用 css,干脆直接用 js 操作。

我不赞同楼主的说法,我建议找 git 里面的联系方式联系到本人,然后对代码里面的问题一个一个解释说明(前提是心平气和).这样才能得出结论,我见过太多把代码写烂的理由了,都是非本人意愿.

估计不是前端写的吧,后端搞的

估计已经离职了,git 显示,这是他们俩最后的工作,上一次提交分别在 7 个月前 /3 个月前

代码和人,其中一个能跑就行
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服