相当郁闷的下午--公司竟然有人要把jdk从5降到1.4

08-09-18 freeren
今天下午公司启动了一个新项目,开了一个下午的会,着实让人郁闷:
1、公司的设计人员是之前做.net的,结果拿到项目二话不说先分析设计了数据库,让我们从数据库的表来认识领域对象。
2、更让人叫绝的是竟然有人提议把jdk从5.0降到1.4,给出的理由是:现在很多外面的产品都是用1.4,他本人以前是从事银行系统开发的;还有因为1.4比较成熟--不知道从何看出?最郁闷的是说5.0现在很多厂商不支持,1.4更多支持。

banq
2008-09-18 09:53
第一点是错误的,但是只要能做项目,人员素质就这样,公司也不花钱给他们培训提高,只能这样,你只能做众人皆醉,唯我独醒了。

第二点是可以理解的,jdk5.0主要是anotation和泛型,只是简化开发,并没有根本革命性跨越,再加上市场现状,可以使用JDK1.4。

pub
2008-09-18 10:23
第二点是这样的。很多应用服务器都只支持以前的jdk.所以这一点是对的。尤其是大型的系统

fox0424
2008-09-18 12:53
公司为了降低风险,这样做是必然的。没有什么对错问题,有一天你做老板你也会这样。

bonepole
2008-09-19 21:11
在公司做项目很多都是从数据库开始的,没有时间让你面向对象分析和设计,没有时间让你写单元单元测试,没有时间进行重构,每次调试都胆战心惊,每时每刻都要祈祷程序能顺利通过。工作完成了才有工资,才能填饱肚子啊。这是在做软件呢还是软件在玩我们呢?中软,东软等等这样的大公司都是这样,不行你们去了就知道了。工作了和学校里的那一套真的不一样了。

freeren
2008-09-19 21:15
谢谢老师及各位道友的回复,借着话题来讨论一下这两天来在新项目及刚做过的项目中发现的个人感觉不足的地方:
1、正如一楼说的第一点,以数据库驱动设计与开发。今天发现不只是这样,我们的项目负责人是在与客户讨论的基础上在自己的脑海里有了自己的UI概念,然后再来设计数据,并以此来驱动开发。这样无
法如实地体现真正的领域对象,还有当需求有变动时,需要到处修改程序。那这样也就可以看出:在我们所谓的面向对象中,是否有真的对象呢?我想在我们的项目中,我们所谓的对象很多变成是把一些属性拼到一起就是一个对象。
2、在我们的数据库中代表领域对象的那些表,我们是不分实体与值对象的,所有都是实体。还有一张表可能是几种不同状态不同类型的对象,比如有一个字段来区分是不同类别,再由另一个字段来区分不同状态的对象,这样在理解一张表时已经很不容易了,又多了好多区分字段,实在是不知道说些什么好!
3、这点是最痛苦的:前些天我们曾经利用了几乎整个项目组(15人左右)花了两天时间在查找连接池数超出的问题,最后是解决了。从一定程度上解决了连接池问题:统一的入口,要记得释放连接池。越来越觉得与项目格格不入了!

freebox
2008-09-21 05:03
我接触过一些工商方面的系统就是这样的,最开始是pb+oracle做的,有些状态是拿号拼的,最初设计数据库的人不在了,文档里没有描述只是说了那代表了不同的处理结果,虽然系统在运行但是我们不知道那个状态究竟代表了什么,后来是通过测试业务,和相关部门人员在测试数据库里运行客户端,试了几百种业务处理结果,才渐渐分析出那是什么东西。像这样的东西在原来的程序里不少,于是我们专门分了三个人去找出这样的东西的意义,明显不如对象直观。

fox0424
2008-09-21 09:19
呵呵,其实工商、税务的系统很烂的,楼上说的我在税务局也见过,当时他们领导跟我介绍他们的成果,说他们开发了很多系统,我一看PB+oracle,后来一问,负责开发的经理学PB出身的。其实仔细一想PB也没什么不好,主要是看开发个什么程序,他们那里也不是税务总局,顶多是查查历史,初出报表,需求简单,也没什么变化,用PB的datawindow三下五除二也不错。

不过现在程序员有种倾向就是抱怨的多,做的少。很多人配合工作肯定会存在问题,当你改变不了大环境就要想办法先从自己做起。公司都是以效益为导向的,肯定使用成熟的技术,如果你想使用新的东西,那么你就必须自己先做实现了功能,然后带给你的项目经理看,然后在他们面前演示、使用,并提交相关的测试报告。最好还能够有书面材料阐明你的东西优势在什么地方,现有缺陷是什么(很多人认为不应该说缺陷,其实不说缺陷会让别人没有信心,他们认为你对系统还不够了解)。一点点进行升级。一蹴而就的希望大环境的改变是不现实的。

leauch
2008-10-13 08:46
其实你的这种情况想想也很正常,说白了我们工作的目的就是挣钱,这一点我不做任何的伪装,我在公司就曾说过如果达不到我所要求的标准我就走人,其实做人我们没必要做的那么累。

我们可以有想法。其实就JAVA来说。面向对象极其重要,如果真的能达到我们脑中的面向对象,我想我开发项目很少会在数据库方面花太多时间。因为现在很多框架在这方面包装的很好,拿hibernate来说,我们只需修改配置文件配出我们想要的的表就OK了。我们没有必要在考虑设计表。我想这种设计方法在公司里用的很少,因为现在很多程序员还是靠以前的那种用工具生成表进行操作,而忽视了面向对象。
但是这些我们可以会。可以单独用。如果团队开发的话我们还是要听当家人的话。或许这就是生存之道吧。太多我们不想看到的东西。太多的无奈。但是最重要的就是要生存。程序员没有伟大到可以为程序负出全部,我认为我们失去的已经很多。

[该贴被leauch于2008-10-13 08:49修改过]

giser
2008-11-01 20:29
1,我觉得先分析数据库与先进行领域建模并不冲突啊,领域建模最终还是要体现为数据库建模。你要是觉得表设计不合理可以提啊。
2,用Jdk1.4你应该无条件遵从。Jdk5只不过多了些语法糖。你完全可以在自己的机器用jdk5运行啊,又不冲突。