Java开发标准和工具(与C#相比)

时间:2009-07-21 22:41:57

标签: java java-ee jboss coding-style

我对Java平台没有任何了解,我想知道可以使用哪些工具(和方法)来帮助开发用Java编写的可维护代码。

我知道可以使用:

  1. 任何环境中的敏捷方法
  2. jUnit / jMock用于单元测试代码(类似于.net世界中的NUnit / Moq)
  3. Checkstyle的编码标准 - 这与StyleCop或FxCop或两者兼容吗?
  4. 我想你也可以用Java编写分层应用程序(比如.net中不同层的程序集)
  5. 是否有值得一提的自动化测试OSS /许可工具
  6. 是否有任何在Java世界中非常流行的代码生成器
  7. 还有任何其他流行的工具/方法,Java开发人员/团队可以使用我在.net世界中无法访问的工具/方法吗?您会在Java世界中推荐其他工具和方法吗?

5 个答案:

答案 0 :(得分:4)

在java中有很多框架。例如,您不必使用JUnit,您可以使用TestNG基本上同样多的工具支持。还有几个模拟框架。

在编码标准方面,IDE内置了IDE,还有其他几种可用(我最熟悉IDE的,所以我不知道手头的名字)。

如果你想要免费的话,你可以将Eclipse作为IDE,除了NetBeans之外,你还可以使用IntelliJ IDEA。然后有一些来自大型供应商的IDE旨在支持他们的特定应用服务器。

在构建“程序集”(java世界中的罐子,战争和耳朵)方面,IDE中有一些用于单人项目的内置工具,而Ant或Maven则是一个完整的构建工具。< / p>

自动化测试工具有很多选择。如果您的意思是持续集成,那么CruiseControl是免费的,TeamCity可以免费使用。

就代码生成器而言,一般来说Java世界试图摆脱它们而不是注释,但想到的名字是xdoclet。在GUI构建中,当然有一堆严格用于构建GUI的代码生成器。

这真的几乎没有触及表面。例如,应用程序服务器(JBoss,Oracle(他们现在拥有Sun购买的两个)和IBM等)是许多Java项目中的一个重要决策点(它取决于什么样的项目)。

所讨论的所有类别都不是详尽无遗的,只是足以让您了解需要考虑的内容。每个类别中还有更多。

Java的优点在于有很多选择。关于Java的坏处是有很多选择......

答案 1 :(得分:1)

响应#2:代码覆盖率工具(如EMMA)通常用于评估当前测试的范围。 回应#5:FindbugsPMD是非常受欢迎的静态分析工具。

答案 2 :(得分:1)

您可以将Hudson与ant或maven一起用作持续集成服务器。在特定时间和每次签入后测试您的代码。您可以使用JUnit,Emma,FindBugs,Pmd和checkstyle来组合Hudson来测量存储库中代码的质量。如果你这样做,我建议你安装continuous integration game给你的开发者一个固定测试和警告的高分,以及打破他们的负面分数。

答案 3 :(得分:1)

Java开发的最佳工具是优秀的Java程序员。

如果你设法聘请一些非常好的,其余的将照顾自己:)

答案 4 :(得分:0)

我不相信任何一套工具/方法/流程都能保证你在最后得到可维护的代码。其中很大一部分归功于开发项目的程序员。他们是工匠/女性致力于生产出色的代码,还是仅仅是为了完成工作而进行的代码切割工作。从另一个角度来看,它可能有很好的流程,但仍然会产生糟糕的代码。优秀的程序员可以生成可维护的代码,尽管处理/工具不足或缺乏这些代码。

那就是说,我仍然坚持基础知识:源代码控制,每次更改的分支,定期检查主分支,自动构建和测试,大量测试代码,基本静态分析,错误跟踪和等等。这是在工具方面。在编码方面,常规设计和代码审查,n层架构,松散耦合等。大多数是与语言无关的。所以在C#中为你工作的应该转换为Java。

对于Java,我发现JUnit非常适合测试代码,而Checkstyle非常适合维护编码风格。

相关问题