玩了两天的Wecenter开源程序,这是多年里见到的最烂的PHP代码,没有之一。我是PHP门外汉,借助Chatgpt只能勉强看懂。可看了两天下来,都能修复N多个bug。
先说背景:最早在18年初因为币问 这个项目了解到Wecenter,发现竟然有一款非常接近“知乎”的开源程序。简单使用之后发现功能完善,交互也不错。折腾之后,才发现都是花架子,纯属花架子。
那时最新版应该是16年更新的3.1.2。研究之后就看到各种报错,至于模板引擎,jquery以及各种库都是祖奶奶辈儿的版本啦。虽然也了解到还有tipask这种基于Laravel开发的,或者是WP的bbPress等更新更优秀的开源库,但耐不住Wecenter太像知乎了。后来还找到一款高仿知乎的主题模板。于是2018年的4月8号,脑袋一热,基于Wecenter的“逼乎社区”诞生了。
然后一直不温不火的到了21年,注册会员已经突破3000人,活跃用户也接近100人的时候,因为生病,整个人变得很丧,删库关站,逼乎社区也就彻底歇业了(玩了三年,一张截图都没找到)。前几天又发疯想起了Wecenter,版本更新到4.1.1啦,UI还是那么丑,编辑器依然垃圾.....
安装包量大管饱120多M,安装后刷新一下发现慢的要命,看着抖动的四个小圆球,回忆起了当年DiscuzQ 1.0版的噩梦。调试模式看一下,好家伙,单单首页css+js的请求20多个,背景图1.1M,还有好几张大图700多K,更要命的是这些js和css的版本号是时间戳,根本无法缓存。点开一个新页面,数据量4M多,耗时5s以上.......
然后切到后台,点击一下,等两三秒出一个闪屏动画,闪屏结束,静止两三秒后才开始加载页面。这?这?这...?好奇,这两三秒你在干什么见不得人的事儿?就是切换一个Tab,至于40多个请求重新拉一遍吗?如果点出了弹窗,会发现整个弹窗是通过iframe加载的。这不应该是一个表单能搞定的事儿吗,你加载一个完整网页算什么逻辑?
至于零碎的bug,更不用讲,多到说不清。UI的丑,在这些bug面前,不值一提。
查了下,wecenter最早似乎是个人开发,后面卖给安徽的辛普科技,看了下官网,就是家软件外包公司。软件外包的盈利模式就是尽可能多的接项目,迅速开发给乙方验收后,转向下一个项目。数量就是效益,时间就是生命。设计模式?性能优化?用户体验?你聊这些的时候,技术面试都过不了。老板只关心你一天能敲多少行代码。如果有外包公司XX软件是完全自研,核心科技。也多半是基于过往接单的经验,拼拼凑凑搞出来的,毫无性能可言。
如果辛普科技确实是做外包,那么产品质量和开发人员的技术水平就只能停留在“驴粪蛋子---外面光”。负责Wecenter的这个老哥,猜测要么是培训班刚毕业,要么就是搞糊弄老板的一锤子买卖。
晚上想用ServBay在本地调试一下,找到了PHP大佬问Caddy怎么设置伪静态,大佬看了下源码,第一句就是:“这是第一天写PHP的吧?”。
在之后的交流中他也是吐槽不断:
“第一次看有人把vendor打包发布的”;
“看了下,劝你别玩,问题太多,会打击你的积极性”;
“搞维护的人,应该是个PHP新手,我只能这么说”;
“我没搞懂为什么要用s=来传路径,明明tp就可以直接抓到router”;
“不研究了,垃圾代码不值得我浪费时间”。
....
我确实不懂PHP,一行代码也写不了,担心吐槽姿势不对。可有了大佬的加持,就非常自信了:Wecenter的代码就是一坨屎,我之所以还愿意捏着鼻子折腾,实在是他太像知乎了。
歪个题:
我刚毕业时候也在外包公司干了4个月,只发了一个月工资。印象最深的是,一天做了16个页面。这个速度至今没有超越,技术上毫无长进,还学了一身臭毛病,借此奉劝所有做技术的后来人:
珍爱生命,远离外包~
提前亮:没意外的话,618时会搞个香港主机,用Wecenter让自己再年轻一次~
后续:
1、用户权限混乱,管理员可以把自己删除、封禁...,然后账号强退,再也无法登陆~
2、页面安全性约等于没有,张三可以进入李四的管理后台,修改操作不再鉴权~
3、总之发现很多问题:不滤重,不校验,不做边界情况判断
4、前段布局滥用css的 !important,导致UI调试困难
5、产品(运营)功能上的bug更是数不胜数......
总体感受,Wecenter所有的功能都是纯靠程序员臆想出来的,而且还是个技术低下的程序员。
噜啦啦噜啦噜啦嘞
2024-06-15它刚出的时候研究过。看了发现不怎么安全的样子。
jiyouzhan
2024-05-24这篇文章写得深入浅出,让我这个小白也看懂了!
小彦
2024-05-18还好我都是自己写,我最怕看垃圾代码了
WebersonGao
2024-05-18@小彦 我又看了好几天,比不会写PHP更痛苦的事情,就是修改Wecenter用PHP写的bug
obaby
2024-05-06各种垃圾代码太多了,有的改都不想改,看着就头疼。