xubeiyan
2022-04-20 13:57:43 +08:00
又要和这个 markdown 搏斗了....
上周刚入职了重庆教育系统的某事业单位,是前端岗位,说前端框架选的是 angular ,后端数据库使用的是 MongoDB ,我开始没有在意,因为会 react 和 vue 很快就能学会…况且我是前端,关心数据库干嘛?
然后重点来了,第一天我熟悉了下 angular ,第二天就准备开始写,说代码在哪里,答在 SVN 服务器上,clone 下来,拉了一个多 G ,我直接傻了…下来看看,node 安装包若干,node_modules ,各种库的安装包…问为何要这样?答曰内网开发是这样的…但版本控制怎么会有 node 安装包?答曰有时候要装 node ,我去你们这个也太惨了吧,没有 Internet 你这个保障要做好啊,npm 缓存做好啊,node 安装包也是啊…不要把 SVN 当 ftp 用啊,提交要写消息啊,开发和发布分开做分支啊!加工能也要加分支啊(
如果说这还是第一天见到的感觉还行,奇葩的还在后面…我要写的项目都启动不起来,问你需要自己 build ,tm 的没互联网 build 个毛线,build 脚本写好啊!我见识了 leader 打开 webstorm (前端不用 vscode 感觉生活不便),点击 package.json 中的一大堆 build 脚本启动…喂你们不用命令行的吗?
更奇葩的在于其根本没有传统意义上的后端程序,其并不是有后端程序完成各种逻辑和访问数据库,而是直接访问 MongoDB 数据库,通过写 service 的模式,直接在数据库中查询,于是前端需要了解后端数据库设计,才能够合理地查询,而且后端的查询需要前端人员去配置 MongoDB 上的 functions ,虽然这是一种 backend as a service 的思想,但我觉得这个完全就是一种省略后端程序的偷懒…这也是为什么要选 MongoDB 的原因(没想到吧!)但实际上我们的数据关联性很大,明显的使用关系型数据库要好得多(但就是不用!)
昨天我听过最经典(没头脑)的设计莫过于两台平板通信需要服务器支持。大概是这样,他们想做个唱歌录制视频的功能,但由于要将选歌和录制分开,于是准备使用两台平板,然后我提了一个问题“这两台平板如何通信?”得到的答复竟然是通过远程的服务器,还用 websocket ,难道就不能通过连接到同一个 WiFi 下一台向另一台通信也用 websocket 吗,实在不行一台架服务器,另一台通过 HTTP 通信也可呀。为此这个问题还和我争论了整整一个小时,这 leader 完全辩不过我就开始扯什么架构云云,我都快笑死了但我又不能表露出来
我也不是才参加工作的人,但这种设计上的问题不提出后面再来改是很可怕的事情,尤其是这种看起来看似有十多年的开发经验设计出来的产品有严重的问题
这样的事情是很可怕的,尤其是 leader 觉得自己水平很高架构设计万无一失的时候,下面的人估计杀人的心都有了
所以今天我打算走了,还好在试用期我跑得没有心理负担…