论坛首页 Java企业应用论坛

开始受不了Eclipse

浏览 25252 次
该帖已经被评为精华帖
作者 正文
   发表时间:2003-12-12  
呵,上次有本eclipse in action 在这里可以下载,有时间大家一起研究一下吧。
0 请登录后投票
   发表时间:2003-12-12  
squirrel 写道

2、本地可以编译,但引用了第三方class,没有上传该lib。


一个建议,你们可以考虑使用auto build的工具来控制CVS的文件能够及时正确的build,比如说CC( http://cruisecontrol.sourceforge.net/ ),当有开发人员做了一个commit以后,这些工具如果auto build失败,会自动发送email给该开发人员,这样这个人员就应该迅速地检查和fix。

通常这些工具还不仅仅用在auto build,它还可以进行自动测试,自动发布,对于团队开发来说是很好的帮助。
0 请登录后投票
   发表时间:2003-12-12  
squirrel 写道
zingers 写道
另外补充一点,不应该所有的团队成员都存取一个CVS路径,这是麻烦的开始。
这需要做好先期的设计和命名规范,每个小组只对自己的模块负责。
用到的公用接口(抽象类和接口)等层次上的结点是要给相关小组都要一份的,测试先也要围着这些公用接口转先。

Eclipse的CVS插件有branch这个概念,应该是做类似的事情。


你可能误解他的意思, 或者没有明白CVS分支的概念, eclipse这里中CVS的分支就是CVS的分支.
CVS分支一般是在并行维护同一个软件的多个版本的时候使用. 你可以去查一下相关资料.
但在一般的项目开发里面用不到, 它要求开发人员对分支, 合并分支等等概念和操作要非常熟悉, 不然很容易出事. 如果在不确定是否真的需要使用他的时候,建议不要使用.

zingers提到的模块,就是CVS中的模块的概念,简单来说就是在一个CVSROOT根目录下的第一层目录.
0 请登录后投票
   发表时间:2003-12-12  
squirrel 写道

对,就是你说的这种问题。我们目前的项目光开发人员就有100,每天提交上去的代码不能全部是正确的,可能有一下两种情况:

1、本身就编译不过去,被误提交,又没有从cvs上删除;
2、本地可以编译,但引用了第三方class,没有上传该lib。

其中第二类问题大量存在,你任何时候对项目整体编译的时候,是一大片红。这非常让人难受。但这是对项目cvs的管理问题,以我们大多数人使用的jb来说,他可以容忍这种情况——即,错误的归错误,但我不用就没有问题。

而eclipse则不能容忍,主要是项目第一次checkout的时候,它要对整体编译。如果前面有些类无法编译过去,它确实会导致后面的即使无关的类的class也不能产生。Robin说不会出现这种情况,但我知道我们的项目中就是这样的,我只有把那个包report/v2里面的源码删掉,才会继续;但这个report/v2跟我自己的类没有关系。另外Tomcat朋友误会我的意思了,当然不是每次都编译项目,那谁受得了?但我猜测第一次checkout project的时候会有这个动作;并且如果第一次是不成功的话以后每次启动eclipse时会重复检测上次没有编译过的类,速度很慢。

我昨天跟组长谈过这个问题,eclipse好像本身就要求提交到cvs的代码是正确的,单独的lib也要上传到项目的lib中,不然对其它人的影响太大了。我认为这应该作为一个管理规范来在每一个具体项目中执行。


你说的这些问题我也遇到过, 但是我比你好一点的是什么, 我一开始在公司(21个开发人员)里面强制使用WSAD(IBM基于Eclipse开发的开发工具), 强制使用CVS, 当我发现有人上载错误代码并引起麻烦的时候, 我就做了上面提到的规定, 并因为这个规定还罚了开发人员很多次(当然我罚的不重, 而且也不是正式处罚,就是给每个开发人员买可乐, 我记得刚开始的时候,我自己也买过, 大家前几天几乎天天有可乐喝, 最后慢慢就降低到一周一次或者没有了, 这也足够他们引起重视了). 
也许我们的人数比你们少, 可能好管理一点, 但是就想你说的一样, 成为一个管理规范然后有很好的执行力度, 是可能减少这类问题的,开发人员多少倒是其次, 管理不好, 2个人一起开发还会出现问题呢. 其实这就是你管与不管, 重视与不重视的区别. 另外一方面作为一个开发人员你在一个团队中, 就应该保证团队开发的效率,不能因为你的错误影响大家.
0 请登录后投票
   发表时间:2003-12-12  
Quake Wang 写道
squirrel 写道

2、本地可以编译,但引用了第三方class,没有上传该lib。


一个建议,你们可以考虑使用auto build的工具来控制CVS的文件能够及时正确的build,比如说CC( http://cruisecontrol.sourceforge.net/ ),当有开发人员做了一个commit以后,这些工具如果auto build失败,会自动发送email给该开发人员,这样这个人员就应该迅速地检查和fix。

通常这些工具还不仅仅用在auto build,它还可以进行自动测试,自动发布,对于团队开发来说是很好的帮助。


这是一个非常好的办法来保证代码完整性喝正确性. 强烈建议使用.
0 请登录后投票
   发表时间:2003-12-12  
在补充一点, JB作团队开发真的不是很好.

建议squirrel强制规定在团队开发时使用Eclipse或者WSAD
0 请登录后投票
   发表时间:2003-12-12  
jlinux 写道
在补充一点, JB作团队开发真的不是很好.

建议squirrel强制规定在团队开发时使用Eclipse或者WSAD


  寒~~
我只能被人规定,小喽罗一名哦。
0 请登录后投票
   发表时间:2003-12-12  
Quake Wang 写道
一个建议,你们可以考虑使用auto build的工具来控制CVS的文件能够及时正确的build,比如说CC( http://cruisecontrol.sourceforge.net/ ),当有开发人员做了一个commit以后,这些工具如果auto build失败,会自动发送email给该开发人员,这样这个人员就应该迅速地检查和fix。

通常这些工具还不仅仅用在auto build,它还可以进行自动测试,自动发布,对于团队开发来说是很好的帮助。


这个确实是非常好的建议,谢谢Quake Wang!
0 请登录后投票
   发表时间:2003-12-12  
jlinux 写道


你可能误解他的意思, 或者没有明白CVS分支的概念, eclipse这里中CVS的分支就是CVS的分支.
CVS分支一般是在并行维护同一个软件的多个版本的时候使用. 你可以去查一下相关资料.
但在一般的项目开发里面用不到, 它要求开发人员对分支, 合并分支等等概念和操作要非常熟悉, 不然很容易出事. 如果在不确定是否真的需要使用他的时候,建议不要使用.

zingers提到的模块,就是CVS中的模块的概念,简单来说就是在一个CVSROOT根目录下的第一层目录.


一个项目的各个小组各自维护单独并行的cvs模块,客观上来说,还需要对公用模块的明确定义、划分;还有由于业务关系各个小组的代码联系较紧,也不好明确区分这些模块的范围。

我想最根本的,还是在于杜绝错误代码的上传。

你的惩罚方法我刚开始还以为是:A上传了错代码,你就买可乐给A喝,灌他呢。这哪里有惩罚作用(如果A是可乐狂,例如我) 
0 请登录后投票
   发表时间:2003-12-12  
squirrel 写道
你的惩罚方法我刚开始还以为是:A上传了错代码,你就买可乐给A喝,灌他呢。这哪里有惩罚作用(如果A是可乐狂,例如我) 


哈哈 那岂不美死了。 

其实这是一个典型的规范和管理问题。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics