首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使我的开发工作流程更加“企业级”?

如何使我的开发工作流程更加“企业级”?
EN

Stack Overflow用户
提问于 2009-01-05 16:42:36
回答 13查看 1.9K关注 0票数 9

我是总部设在东北一所大学的学术财团的唯一开发商。我所有的开发工作都涉及到内部工具,主要是Java工具,所以没有任何向公众发布的工具。现在,我觉得我的开发工作流程非常“爱好者”,不像你在一家经验丰富的软件开发公司看到的那样。我倾向于说,这并不重要,因为我是唯一的开发人员,但如果没有别的原因,除了让我的工作简单一点,在我的简历上获得更多的技术之外,做一些改变也没什么坏处。现在我的工作流程是这样的:

  • 我大部分的开发工作都是在Eclipse的笔记本电脑上完成的。所有的东西都保存在我的笔记本电脑上,我不使用VCS,也不真正备份我的代码(除了偶尔给我自己发电子邮件以便在另一台计算机上看到它--是的,我告诉过您我的开发环境需要工作)。
  • 当我完成了一个项目并想要部署它,或者如果我只想测试它,我会使用Eclipse中内置的Jar工具来为我的项目创建一个可执行的.jar。如果我使用外部.jar库,则使用Fat插件将这些.jars包含在可执行.jar中。
  • 创建.jar之后,我通过SFTP手动将其上传到服务器,并使用类似于java -jar MyProject.jar的内容进行测试。

哦,是的,我有没有说过我没有单元测试?

我想首先解决的最明显的问题是缺乏源代码管理。我喜欢git,因为它是分布式的,但它似乎没有很好地与Eclipse集成,而且我听说它在Windows上工作得不太好,Windows是我的主要开发操作系统。所以,我倾向于SVN,我确实有一些经验。我确实有我自己的个人服务器,我想我会用它来控制我的源代码,因为我宁愿做我自己的管理员,也不愿面对大学的官僚主义。我以前在设置SVN时遇到了一些困难,但是我会再试一次。也许我也会安装一些类似Trac或Redmine之类的程序来进行bug跟踪、待办事项列表等等?

那建设和部署呢?必须有一个更好的方法,比使用Fat和手动上传我的jar到服务器。我听说过像Ant和Maven这样的工具--这些工具适用于我想做的事情吗?我怎么才能开始使用这些?

我想我最终也希望将单元测试与JUnit集成起来。尽管应该是这样,但这并不是我现在最关心的问题,因为到目前为止,我的应用程序并不是非常复杂。我现在真的很想简化和精简我的工作流程,然后我将轻松地进入单元测试。

很抱歉有这么长的问题。我想我的问题归结为,对于一个唯一的开发人员来说,我可以/应该使用哪些工具和方法来使我的工作变得更容易,而且仅仅是为了让自己接触到一些技术,而这些技术在一个专门的开发公司中是必要的?

编辑:谢谢你到目前为止给我的答案。我的意思并不是说我想让我的工作流“企业级”,只是为了让我的工作变得更简单,并在我的基础上获得一些通常在企业开发环境中使用的技术。我就是这么说的。

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2009-01-05 16:54:55

在我看来,你似乎对你需要做的事情有一个很好的想法。

必须使用Subversion (或其他VCS)。尽管为您的工作相关代码设置单独的SVN存储库可能是明智的,而不是使用个人代码。

您可以使用一个插件来将Subversion与Eclipse集成,比如Subclipse,我发现这个插件工作得很好。

我肯定会使用Ant或Maven --我更喜欢Ant,因为它更灵活,而且我认为它比Maven更适合您的开发风格。但是,您也可能希望了解阿帕奇常春藤,它处理依赖关系管理。

基本上,您设置了一个ant任务,它运行编译、构建和部署步骤--这样,当您创建最后一个JAR包时,您可以确保它已经过单元测试,因为这是ant脚本的一部分。开始使用ant的最好方法是查看一些示例,并阅读手册

至于单元测试,您可以逐步建立单元测试。我建议将JUnit与代码覆盖工具(如[医]杜鹃 )结合使用(这很容易设置)--它将帮助您理解您的测试涵盖了多少代码,并且是测试有效性的一个指标。

设置类似Trac之类的东西也是值得的--能够跟踪bug是很重要的,而wiki对于文档来说是非常有用的。

换句话说,所有这些听起来都是正确的,你只需要开始使用这些工具!

票数 8
EN

Stack Overflow用户

发布于 2009-01-05 16:54:46

如果您真的打算使用分布式源代码管理,那么我建议您查看巴扎。它类似于GIT的分布式源代码管理,旨在执行非常高质量的合并。它可以在所有平台上运行,包括Windows,并且它们有一个TortoiseBZR客户端。

尽管如此,任何源代码管理都比没有好。如果您是唯一的开发人员,那么就不需要比SVN更复杂的东西了。大型公司和项目一直使用SVN,几乎没有问题。

就单元测试而言,您应该熟悉JUnit。事实上,您知道单元测试并且知道您应该进行测试,这一事实仍然比大多数临时开发人员领先几步。

票数 2
EN

Stack Overflow用户

发布于 2009-01-05 16:55:43

使用版本控制。句号。SVN与Eclipse和Windows有很好的集成。为windows获取TourtisSVN客户端,并使用带有。

我会建议获得一个外部HD或使用您公司的服务器之一,使您的存储库,并经常做备份。Subversion非常适合部署和升级。只要学会如何去做,你就永远不会回头:)

至于单元测试,有些人会说这是方法,但我还没有找到足够的证据开始实践自己。如果有人在这个问题上可以说服我,那么请这样做!

另外,不要指望“企业”你的工作流程-寻找使它更好。在大型团队和团队中工作良好的实践可能对您不太好。我本人就是一个很好的开发人员,我知道你现在的处境。只要尝试每一件事,只保留一段时间后感觉自然的东西。

但是一定要尝试SVN!如果您的公司有一个带有apache的LINUX服务器,那么看看您是否可以使用DAV在那里设置服务器。

:)

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

https://stackoverflow.com/questions/413713

复制
相关文章

相似问题

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