首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪些是常见的java web开发实践?

哪些是常见的java web开发实践?
EN

Stack Overflow用户
提问于 2009-10-21 15:13:08
回答 6查看 691关注 0票数 7

我想了解更多/更好地了解至少有两个团队的开发组的普通java web开发实践-- web设计人员和web组件开发人员。尤其是,我有兴趣了解如下:

  1. 假设有一个代码存储库,是否所有团队都签出了所有代码的本地副本?如果是,为什么web设计人员希望/需要访问后端代码,类似地,为什么web组件开发人员希望/需要访问前端代码?
  2. 每个团队成员,不管是哪个团队,如何测试他们的代码?他们是将代码“部署”到他们的本地工作站、开发框上的单个实例,还是统一的开发框上?
  3. 集成和测试是如何完成的?例如,假设web设计人员创建一个“注册”表单页,而web组件开发人员创建后端代码来处理数据并将其插入数据库--前端和后端代码将如何集成和测试?

任何与开发小组的java web开发实践有关的其他信息,我还没有具体询问过,但都是相关的,请大家分享。

编辑(后续):--我很欣赏这些答案,它们填补了我对java开发的大部分概念漏洞。不过,我还有几个后续问题-

  1. 测试,特别是自动化测试,显然是java web开发的重要组成部分;但是,什么才是好的“测试”呢?例如,假设java后端开发人员将接受表单数据的代码放在一起,对其进行验证,然后插入/更新数据库。在这种情况下,什么是好的测试?此外,这又如何“自动化”呢?
  2. 有人能解释持续集成吗?也就是说,他们的目的是只编译所有的项目代码吗?还是帮助进行自动化测试?据我所知,持续集成服务器监视提交的存储库,并在提交时签出新修改的代码并编译整个项目;编译成功或失败时,会通知用户。
EN

回答 6

Stack Overflow用户

发布于 2009-10-21 15:20:54

  1. 我们总是检查所有的源代码,我们可以得到我们的手。外部库、后端系统和工程的源代码。读取后端系统的代码可以使前端开发人员更容易地理解正在发生的事情。后端开发人员有时会阅读前端代码来查看实际使用情况。更多的代码是一件好事。Maven还支持源代码的自动下载,这是很棒的。
  2. 我们使用maven,我在团队环境中推荐它。我们在本地部署,部署在团队集中的测试服务器和通用的验收环境上。离“家”越近,你能测试的东西就越便宜,效率也越高。
  3. 我们使用selenium进行了很多测试,这些测试允许通过正确部署的webapp“通过前端”进行测试。除此之外,大多数运行堆栈部分的集成测试都是在maven配置文件中作为常规junit测试运行的。
票数 4
EN

Stack Overflow用户

发布于 2009-10-21 15:22:04

我们如何在我们的团队中做到这一点:

  1. 是。每个成员签出所有代码,即使您不是在使用所有的部分。您需要在本地计算机上运行应用程序,同时快速查看所做的更改。前端人员需要运行后端代码来查看前端效果。
  2. 在编码过程中,每个成员在自己的机器上运行代码。当它被签入时,它将作为一个整体在一个专门指定的服务器上进行测试。
  3. 测试应尽可能自动化。每个团队成员都为他们的部分代码编写测试代码,这也是签入的。您可以使用连续集成服务器自动运行这些测试。但是最初的测试实际上是在本地机器上进行的。如果我签出代码,然后对后端类进行更改,我将运行代码并确保它在我的机器上工作,更新任何需要更新的测试并提交更改。自动化测试在服务器上运行,以确保各种提交都能很好地协同工作。

我不能说这是不是最好的最佳实践,但这是实际的实践,我们的团队非常小,只有4个开发人员。

票数 4
EN

Stack Overflow用户

发布于 2009-10-21 17:18:27

  1. 这取决于你的项目结构。通常,java webapp项目遵循Maven项目约定。如果您有一个用于web和后端功能的项目,所有团队成员都需要签出源,如果结构被分割成web和后端项目,那么每个团队只能签出他们的项目。
    • 简单的webapp maven项目结构
    • 多模块maven项目结构

  2. 如果您使用Maven,那么很自然地部署应用程序。高度推荐使用CI (连续集成)服务器,如哈德森。一个非常重要的方面是使用适当的插件集(maven或hudson ),比如selenium测试或其他web测试框架。
  3. 集成测试当然是由Maven/Hudson在插件的帮助下完成的:)。我提到了,它可能是Canoo WebTest或其他测试框架,有时适合您为开发选择的框架或技术。

总之,遵循Maven的方式。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1601517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档