锁定老帖子 主题:开始受不了Eclipse
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2003-12-12
呵,上次有本eclipse in action 在这里可以下载,有时间大家一起研究一下吧。
|
|
返回顶楼 | |
发表时间:2003-12-12
squirrel 写道 2、本地可以编译,但引用了第三方class,没有上传该lib。 一个建议,你们可以考虑使用auto build的工具来控制CVS的文件能够及时正确的build,比如说CC( http://cruisecontrol.sourceforge.net/ ),当有开发人员做了一个commit以后,这些工具如果auto build失败,会自动发送email给该开发人员,这样这个人员就应该迅速地检查和fix。 通常这些工具还不仅仅用在auto build,它还可以进行自动测试,自动发布,对于团队开发来说是很好的帮助。 |
|
返回顶楼 | |
发表时间:2003-12-12
squirrel 写道 zingers 写道 另外补充一点,不应该所有的团队成员都存取一个CVS路径,这是麻烦的开始。
这需要做好先期的设计和命名规范,每个小组只对自己的模块负责。 用到的公用接口(抽象类和接口)等层次上的结点是要给相关小组都要一份的,测试先也要围着这些公用接口转先。 Eclipse的CVS插件有branch这个概念,应该是做类似的事情。 你可能误解他的意思, 或者没有明白CVS分支的概念, eclipse这里中CVS的分支就是CVS的分支. CVS分支一般是在并行维护同一个软件的多个版本的时候使用. 你可以去查一下相关资料. 但在一般的项目开发里面用不到, 它要求开发人员对分支, 合并分支等等概念和操作要非常熟悉, 不然很容易出事. 如果在不确定是否真的需要使用他的时候,建议不要使用. zingers提到的模块,就是CVS中的模块的概念,简单来说就是在一个CVSROOT根目录下的第一层目录. |
|
返回顶楼 | |
发表时间: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个人一起开发还会出现问题呢. 其实这就是你管与不管, 重视与不重视的区别. 另外一方面作为一个开发人员你在一个团队中, 就应该保证团队开发的效率,不能因为你的错误影响大家. |
|
返回顶楼 | |
发表时间: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,它还可以进行自动测试,自动发布,对于团队开发来说是很好的帮助。 这是一个非常好的办法来保证代码完整性喝正确性. 强烈建议使用. |
|
返回顶楼 | |
发表时间:2003-12-12
在补充一点, JB作团队开发真的不是很好.
建议squirrel强制规定在团队开发时使用Eclipse或者WSAD |
|
返回顶楼 | |
发表时间:2003-12-12
jlinux 写道 在补充一点, JB作团队开发真的不是很好.
建议squirrel强制规定在团队开发时使用Eclipse或者WSAD 寒~~ 我只能被人规定,小喽罗一名哦。 |
|
返回顶楼 | |
发表时间:2003-12-12
Quake Wang 写道 一个建议,你们可以考虑使用auto build的工具来控制CVS的文件能够及时正确的build,比如说CC( http://cruisecontrol.sourceforge.net/ ),当有开发人员做了一个commit以后,这些工具如果auto build失败,会自动发送email给该开发人员,这样这个人员就应该迅速地检查和fix。
通常这些工具还不仅仅用在auto build,它还可以进行自动测试,自动发布,对于团队开发来说是很好的帮助。 这个确实是非常好的建议,谢谢Quake Wang! |
|
返回顶楼 | |
发表时间:2003-12-12
jlinux 写道 你可能误解他的意思, 或者没有明白CVS分支的概念, eclipse这里中CVS的分支就是CVS的分支. CVS分支一般是在并行维护同一个软件的多个版本的时候使用. 你可以去查一下相关资料. 但在一般的项目开发里面用不到, 它要求开发人员对分支, 合并分支等等概念和操作要非常熟悉, 不然很容易出事. 如果在不确定是否真的需要使用他的时候,建议不要使用. zingers提到的模块,就是CVS中的模块的概念,简单来说就是在一个CVSROOT根目录下的第一层目录. 一个项目的各个小组各自维护单独并行的cvs模块,客观上来说,还需要对公用模块的明确定义、划分;还有由于业务关系各个小组的代码联系较紧,也不好明确区分这些模块的范围。 我想最根本的,还是在于杜绝错误代码的上传。 你的惩罚方法我刚开始还以为是:A上传了错代码,你就买可乐给A喝,灌他呢。这哪里有惩罚作用(如果A是可乐狂,例如我) |
|
返回顶楼 | |
发表时间:2003-12-12
squirrel 写道 你的惩罚方法我刚开始还以为是:A上传了错代码,你就买可乐给A喝,灌他呢。这哪里有惩罚作用(如果A是可乐狂,例如我)
哈哈 那岂不美死了。 其实这是一个典型的规范和管理问题。 |
|
返回顶楼 | |