外包项目里面十分普遍的一些特征

2016-10-30 00:00:30 +08:00
 changwei

我的帮人改代码经历中 ,发现外包项目大概有如下一些典型特征:没有设计模式,不用框架, web 目录下和配置文件下永远有无数的复件,代码永远有不明不白的注释或者干脆毫无注释,缩进没有任何规范,变量名几乎都是拼音和英文混合,或者 m123 , a789 , aa , bb , test1 这样的标识名,或者因为代码改了很多次,很多类文件的命名已经和类实际的功能不相符了,比如说本来最开始就一个 mysql.class.php ,结果因为功能一改再改,这个类文件名不仅仅是 sql 操作了,还多了好多其他的操作,但是因为没有用框架,最开始已经有很多地方 include 了这个 mysql.class.php ,因此只好直接在这个类文件里面加其他功能了。 综上所述:外包公司大部分都是生产垃圾代码的地方,也是一个培养只追求功能凑合能用,不追求代码质量,不理会代码安全(我看的这个项目,居然是直接拼接 sql 字符串,不过还好他集成的环境是 php5.2 , GPC 魔术引号是默认开启状态所以很多注入方法用不了,而且网上流传的 ['or 1=1 #] 这个万能密码我用不了不知道是怎么回事,不过据说在字符串为 GBK 宽字节编码的情况下仍然有绕过方案),也不会考虑以后要怎么改,功能要怎么加的程序员出来的地方。 解决方案: IT 培训机构和高等教育学府中的相关专业注重代码质量,关注代码规范性,教科书以身作则不要图省事用 abc 这种变量名(没错我说的就是谭浩强老爷子系列的书),加强设计模式的教育,给从事相关行业的产品经理和项目经理科普一下设计模式的必要性(对客户来说,重构或者规范化编码不会给他们带来好处,但是会增加程序员的人力成本,所以客户不愿意为重构买单,但是相反对程序员就不一样了,因此加强科普不是我在开玩笑,这是真的需要)

11270 次点击
所在节点    程序员
77 条回复
wizardforcel
2016-10-30 10:26:50 +08:00
@HuangLibo markdown 没有统一的标准。
kslr
2016-10-30 11:12:22 +08:00
你说的确实是问题,但我认为这是市场导致的必然,价格压得那么低,也不看看请的什么人?
yumijie
2016-10-30 11:23:40 +08:00
哈哈
,竞争压力.时间压力.还有价格压力
aristotll
2016-10-30 11:27:44 +08:00
php 更容易写坏代码(不是黑 ...

Java 系至少不可能出现这么蛋疼的事情 include
zpf124
2016-10-30 11:28:13 +08:00
还是一楼屌 233333
yangff
2016-10-30 11:28:28 +08:00
有规范要求一开始就写好不就行了。。
maddot
2016-10-30 11:33:28 +08:00
代码写得越烂越能绑住客户啊
代码写得好,好读,随时找便宜的人代替了你,那感觉真是五味杂陈....
tairan2006
2016-10-30 11:33:49 +08:00
一楼说得好
honam
2016-10-30 11:46:25 +08:00
所以在外包的项目上做二次开发我是非常反感的,特么炒鸡耗人力
BURNER
2016-10-30 11:47:32 +08:00
or 1=1 早就不能用了
Chaos11
2016-10-30 11:48:52 +08:00
一楼输出好高 233
SourceMan
2016-10-30 11:55:18 +08:00
一楼 27 个感谢,结帖
awthink
2016-10-30 12:07:41 +08:00
@laoyur 还要加上一楼的头像
radiolover
2016-10-30 12:08:44 +08:00
抵制楼主,人肉楼主。
看到楼主这里唾沫横飞就 TMD 不爽,说的没一句是对的,估计也是现实中的屌丝
loy6491
2016-10-30 12:31:39 +08:00
楼主的内心几乎是崩溃的
invalidtoken
2016-10-30 12:36:46 +08:00
这个也要看人的吧...虽然也在外包公司工作过,但是该有的注释和文档我都是会写的,版本控制也是 Git 而不是 复件-复件(2) 这样...

于是...自己的代码上线之后被别人改过根本不敢拿出来放到工作经历里面,因为不少直接把 script 加到 DOCTYPE 前面去了
KangolHsu
2016-10-30 12:55:58 +08:00
@Borden 666666
jaycee110905
2016-10-30 13:07:09 +08:00
@Borden 哈哈,说的有道理
mazyi
2016-10-30 13:22:34 +08:00
一楼最赞!
shiweifu
2016-10-30 13:29:20 +08:00
得考虑时间和成本。

你把代码想象成商品更好理解, 2000 块钱和 1w 块钱买到的东西有可能「看起来差不多」其实真不一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/316513

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX