我是去年年底辞职的,到了现在的新公司,和我一起进公司的还有个09年毕业的研究生。到了公司不多久,我们就参加到了一个项目研发中,在研发的过程中,我们都发现公司的代码简直就是垃圾:
一:代码的命名很乱,简直就是三国。他们的项目都是以汉语拼音的首字母,比如是北京目的的项目,他们会在项目中使用bj***,更可笑的是我们在开发中发现有JJbutton 这种名称,我和那个新同事,笑了好半天,鸡鸡butoon是什么东东? 类的名称基本都是汉语拼音的首字母,时不时给你来个wfcl 等等这种。
二:代码中的DLL管理很混乱 。一个项目中,同一个DLL有好多的版本,比如arcgis的dll,大家好几个人的版本就是不一样,统一不起来,这样每次签入编译都报错,郁闷死了。再在framework2.0的开发环境下,竟然有人引入3.0的DLL。一编译都是错误,很郁闷。
三:相同功能的代码很多。他们原来的开发人员基本上都是crtl+c/v过来的,不知道代码重构啊,这样的代码在维护的时候是要死人的。
四:项目中一些DLL直接是从网下down下来的直接就用,不知道这种dll是否有使用限制是否安全。
五:代码层次不明。每个层次的功能相互杂糅,混换不堪。
六:数据库代码更混换。公司是做政府项目的,大家都知道,政府项目中,关于数据库,有的是有要求的,表名称和字段需要以汉语拼音的首字母,这些都是要求,我们应该遵守,可是在公司的项目中,可能开发人员心情好,他就使用拼音,心情不好,他就是用了英文,而且没有相关注释,只能是询问相关的开发人员。
七:文档管理混乱。部门号称是通过了CMMI3认证。但是在文档方面,相关的文档都是有的,但是文档中的东西,确是牛头不对马嘴。可能你是新员工如果你对项目不了解,需要看需求文档,和设计文档,但是当你看了这些,你在看代码,天哪,这文档中说的是这个项目吗.
八:对于数据库查询,哥们可能以为是ORACLE,性能不错,所以就有SELECT * FROM TABLE 之类的东西经常见到,而且有的是嵌套了好几个SELECT *.还有在SELECT 的时候,大量使用函数,本来SELECT 两张表是可以的,他就来个SELECT FUNC(1,2) FROM table 之类的,这个FUNC再去扫描一次table2表,要知道,ORACLE的性能在好,咱也不能这样糟蹋啊。
总而言之, 公司的研发能力低下,不知大家如果遇到这种,如何办?