【问题标题】:independent prototyping with java使用java进行独立原型设计
【发布时间】:2014-12-03 06:55:45
【问题描述】:

我是 java 新手(我玩过几次),我想知道:

=> 如何快速 做独立原型?类似于一个文件项目。

过去几年,我使用 python。每次我必须开发一些新的功能或算法时,我都会为它制作一个简单的 python 模块(即文件)。然后我可以将其全部或部分集成到我的项目中。那么,我应该如何将这种“模块化开发”工作流转换为 java 上下文?

现在我正在使用 spring、maven 和 intelliJ 处理一些相对复杂的 java DB+web 项目。而且我看不出如何在这种情况下轻松开发和运行独立代码。

编辑:

我认为我的问题不清楚,因为我混淆了两件事:

  1. 代码sn-ps的快速开发和测试
  2. 渐进式发展

根据我的经验(使用 python,没有 web),我可以无缝地从第一个过渡到第二个。

为了与标题保持一致,第一个优先。但是,它仅适用于探索目的。在实践中,第二个更为重要。

【问题讨论】:

  • 你想对这些“项目”的结果做什么?它们真的只是一个更大项目的组成部分吗?如果是这样,TDD 可能是您的答案。
  • Springs 依赖注入允许您通过模拟注入的对象来隔离用于测试的模块
  • 我的问题很模糊,比如“什么是等效的工作方法”。我只是习惯于使用 Python 的动态语言。 TDD 似乎是个好主意,我应该研究一下。
  • 你想写一个小的一次性程序吗?答案是使用不同的语言:这不是 java 擅长的。
  • 我是用java开发的,但我认为如果可能的话,最好独立开发每段代码。

标签: java spring maven intellij-idea spring-boot


【解决方案1】:

一定要看看Spring Boot。比较新的项目。其目的是移除初始配置阶段并快速启动 Spring 应用程序。您可以将其视为 Spring Framework 之上的配置包装器的约定。

它也被认为非常适合微服务架构。

它具有嵌入式 servlet 容器(Jetty/Tomcat),因此您无需对其进行配置。 对于不同的技术组合/堆栈,它还具有各种不同的批量依赖项。因此,您可以根据自己的需要选择合适的。

【讨论】:

    【解决方案2】:

    “在这种情况下开发和运行独立代码”是什么意思?

    您的意思是“小型独立示例代码 sn-ps”吗?

    • 使用 Maven 执行插件
    • 编写单元/集成测试
    • 将 Maven 依赖项引入 JRuby REPL 之类的东西中

    【讨论】:

    • 我不太明白你的回答。开发代码sn-ps应该怎么做?我应该如何使用 Maven 插件,编写 --- 测试,嗯,我不明白最后一点,但感觉超出范围/太复杂了 :)
    • @Juh_ 使用 Maven exec 插件通过 Maven 处理依赖管理来执行那些 sn-ps。最后一点通常是最简单的,因为获取依赖项列表并将它们包含在 JRuby 类路径中是微不足道的,并且它允许您在 REPL 中执行“独立代码”,如果这一点是纯粹的探索的话。如果它不是探索性的,那么我不知道你为什么需要编写“独立代码 sn-ps”。 sn-ps 做什么?它们为了什么
    • 所以,(1)我应该先学会怎么做,(2)不懂JRuby(一开始也没搞过REPL),所以就算简单,我也不会感觉不舒服。 (3) 我更新了我的问题,希望你能更好地理解我的观点:我没有看到探索性代码 sn-ps 和增量开发之间的区别。通常我从第一个开始,然后,当满意时,去第二个(或者我已经知道该怎么做,就去做)
    • @Juh_ 没有什么比在 REPL 中进行快速测试更快的了。如果您的 IDE 支持 Maven(它们基本上都支持),那么您可以在 IDE 中运行 sn-ps,而无需了解几乎所有内容。 “增量开发”基本上就是TDD;听起来你更像是想要 TDD。
    猜你喜欢
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多