- 主题:吐槽个奇葩的外包项目
大概是2013年深圳某个小公司做的一个外包,是个Web的MIS系统。甲方要界面改版,
但是乙方不想接这个活,于是变成了私活。打开页面一看,除了90年代末风格,初看只是
丑了点,并没有多么惊人。
直到打开代码开始分析的时候,我伙呆!先来点小槽点
1. header和side nav全部是用frame嵌入的
2. josn这个单词看起来很眼熟是吧^_^
3. 所有的js和css都是直接写页面内的
4. 海量onclick=xxx和attr代替css
5. js是没有封装的,一个函数可以好几百行
6. ajax取来的数据不是json,是要eval才能反序列化的js
7. ajax对应的后端是自己纯手动拼出来的字符串
真正雷人的是,这家伙不懂什么是循环,也不懂什么是对象
比如这样一个数据模型
class Student {
int id;
int age;
String name;
}
前端需要的是一个班级的所有人的信息,正常人应该会返回类似这种结构
{
error: 0,
data: [{"id": 1, "age": 15, "name": "Tom"}, ...],
// data: {"1": {"id": 1, "age": 15, ...}, ...},
}
你绝对想象不到这个人是怎么传的...,给你涨涨姿势
{'TotalCount': 3,
'data1': [{'age1': 15, 'name1': 'Tom'},
{'age2': 14, 'class1': 2013, 'class2': 2014, 'name2': 'Jack'}],
'data2': [{'age3': 14, 'name3': 'Jerry'},
{'age4': 15, 'name4': 'Peter'},
{'age5': 13, 'name5': 'Joey'}],
'data3': [{'age6': 15, 'name6': 'Barry'}]}
其中data1里出现的class1和class2是无关信息,但是也掺杂其中
数据定义是神奇的和雷人的,数据的解析更是雷声不停呐。
解析这种数据的时候,这货竟然可以几乎不用循环,你们行吗?
因为这个班的人数是固定的,学号是固定的,所以...
全部靠
if (key == "age1") {
} else if (key == "age2") {
} ....
else if (key == "age100") {
}
你没看错,有多少个学生就有多少个if-else,页面上的dom自然是提前写死的,
也是这样人肉生成的,css也是写上n个一模一样的,就这样一个页面撑到几千行了,
其实是功能很简单的页面,改版后html+css+js总共也不到原来1/10的代码
怪不得原来那家公司不接这个改版,做这个的人跑路了,其它人谁肯擦?
--
FROM 218.82.251.*
居然还懂 ajax,算是不错了。估计是某个2000左右的程序员穿越过来或者十年没有知识更新。
【 在 Orpherus (奥路菲) 的大作中提到: 】
: 大概是2013年深圳某个小公司做的一个外包,是个Web的MIS系统。甲方要界面改版,
: 但是乙方不想接这个活,于是变成了私活。打开页面一看,除了90年代末风格,初看只是
: 丑了点,并没有多么惊人。
: ...................
--
FROM 211.162.33.*
知识更新个毛,拒绝学习,拒绝任何代码质量优化,拿人头快速凑出来项目完工,这就是外包Coder的典型特色。
话又说回来,他要能自己完成知识更新,也就不用为了一份工作去上什么XX职业培训班。
【 在 hgoldfish 的大作中提到: 】
: 居然还懂 ajax,算是不错了。估计是某个2000左右的程序员穿越过来或者十年没有知识更新。
:
--
修改:dhcn FROM 123.66.176.*
FROM 123.66.176.*
2000左右的码农也不至于不会写循环吧
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 居然还懂 ajax,算是不错了。估计是某个2000左右的程序员穿越过来或者十年没有知识更新。
--
FROM 218.82.251.*
哈哈哈哈哈哈哈哈
【 在 Orpherus 的大作中提到: 】
: 大概是2013年深圳某个小公司做的一个外包,是个Web的MIS系统。甲方要界面改版,
: 但是乙方不想接这个活,于是变成了私活。打开页面一看,除了90年代末风格,初看只是
: 丑了点,并没有多么惊人。
: ...................
--
FROM 58.251.255.*
我就见过要7000的也不会啊,还有什么html5说的头头是道的也不会循环,这在前端属于重灾区,入门容易,但是就长久的停留在入门水平。
估计要是会个非前端语言就基本不会出现这个情况了。
【 在 Orpherus 的大作中提到: 】
: 2000左右的码农也不至于不会写循环吧
:
--
FROM 58.251.255.*
会安卓会好很多吧
【 在 zxdong262 的大作中提到: 】
: 我就见过要7000的也不会啊,还有什么html5说的头头是道的也不会循环,这在前端属于重灾区,入门容易,但是就长久的停留在入门水平。
: 估计要是会个非前端语言就基本不会出现这个情况了。
:
--
FROM 183.129.165.*
这不能完全推到外包上吧。。
哪个甲方老板不是想速速做好?最好是又快又好又省钱。。。
外包公司要去慢慢架构,慢慢优化代码,都等着喝西北风去吧。。。
【 在 dhcn 的大作中提到: 】
: 知识更新个毛,拒绝学习,拒绝任何代码质量优化,拿人头快速凑出来项目完工,这就是外包Coder的典型特色。
: 话又说回来,他要能自己完成知识更新,也就不用为了一份工作去上什么XX职业培训班。
--
FROM 183.228.29.*
这是某穿越过来的看过ajax后没看json写的!
--
FROM 111.204.241.*
你的条件可是加了又好的,那种凑出来的项目可用性都有问题,何来又好?
再说做几年以后,人从产品意识到技术质量都废了这也是事实。
现在互联网招人都讲究产品意识,外包做多了的的人......
【 在 huaxinjuedui 的大作中提到: 】
: 这不能完全推到外包上吧。。
: 哪个甲方老板不是想速速做好?最好是又快又好又省钱。。。
: 外包公司要去慢慢架构,慢慢优化代码,都等着喝西北风去吧。。。
: ...................
--
修改:dhcn FROM 111.204.152.*
FROM 111.204.152.*