我是总部设在东北一所大学的学术财团的唯一开发商。我所有的开发工作都涉及到内部工具,主要是Java工具,所以没有任何向公众发布的工具。现在,我觉得我的开发工作流程非常“爱好者”,不像你在一家经验丰富的软件开发公司看到的那样。我倾向于说,这并不重要,因为我是唯一的开发人员,但如果没有别的原因,除了让我的工作简单一点,在我的简历上获得更多的技术之外,做一些改变也没什么坏处。现在我的工作流程是这样的:
java -jar MyProject.jar的内容进行测试。哦,是的,我有没有说过我没有单元测试?
我想首先解决的最明显的问题是缺乏源代码管理。我喜欢git,因为它是分布式的,但它似乎没有很好地与Eclipse集成,而且我听说它在Windows上工作得不太好,Windows是我的主要开发操作系统。所以,我倾向于SVN,我确实有一些经验。我确实有我自己的个人服务器,我想我会用它来控制我的源代码,因为我宁愿做我自己的管理员,也不愿面对大学的官僚主义。我以前在设置SVN时遇到了一些困难,但是我会再试一次。也许我也会安装一些类似Trac或Redmine之类的程序来进行bug跟踪、待办事项列表等等?
那建设和部署呢?必须有一个更好的方法,比使用Fat和手动上传我的jar到服务器。我听说过像Ant和Maven这样的工具--这些工具适用于我想做的事情吗?我怎么才能开始使用这些?
我想我最终也希望将单元测试与JUnit集成起来。尽管应该是这样,但这并不是我现在最关心的问题,因为到目前为止,我的应用程序并不是非常复杂。我现在真的很想简化和精简我的工作流程,然后我将轻松地进入单元测试。
很抱歉有这么长的问题。我想我的问题归结为,对于一个唯一的开发人员来说,我可以/应该使用哪些工具和方法来使我的工作变得更容易,而且仅仅是为了让自己接触到一些技术,而这些技术在一个专门的开发公司中是必要的?
编辑:谢谢你到目前为止给我的答案。我的意思并不是说我想让我的工作流“企业级”,只是为了让我的工作变得更简单,并在我的基础上获得一些通常在企业开发环境中使用的技术。我就是这么说的。
发布于 2009-01-05 16:54:55
在我看来,你似乎对你需要做的事情有一个很好的想法。
必须使用Subversion (或其他VCS)。尽管为您的工作相关代码设置单独的SVN存储库可能是明智的,而不是使用个人代码。
您可以使用一个插件来将Subversion与Eclipse集成,比如Subclipse,我发现这个插件工作得很好。
我肯定会使用Ant或Maven --我更喜欢Ant,因为它更灵活,而且我认为它比Maven更适合您的开发风格。但是,您也可能希望了解阿帕奇常春藤,它处理依赖关系管理。
基本上,您设置了一个ant任务,它运行编译、构建和部署步骤--这样,当您创建最后一个JAR包时,您可以确保它已经过单元测试,因为这是ant脚本的一部分。开始使用ant的最好方法是查看一些示例,并阅读手册。
至于单元测试,您可以逐步建立单元测试。我建议将JUnit与代码覆盖工具(如[医]杜鹃 )结合使用(这很容易设置)--它将帮助您理解您的测试涵盖了多少代码,并且是测试有效性的一个指标。
设置类似Trac之类的东西也是值得的--能够跟踪bug是很重要的,而wiki对于文档来说是非常有用的。
换句话说,所有这些听起来都是正确的,你只需要开始使用这些工具!
发布于 2009-01-05 16:54:46
如果您真的打算使用分布式源代码管理,那么我建议您查看巴扎。它类似于GIT的分布式源代码管理,旨在执行非常高质量的合并。它可以在所有平台上运行,包括Windows,并且它们有一个TortoiseBZR客户端。
尽管如此,任何源代码管理都比没有好。如果您是唯一的开发人员,那么就不需要比SVN更复杂的东西了。大型公司和项目一直使用SVN,几乎没有问题。
就单元测试而言,您应该熟悉JUnit。事实上,您知道单元测试并且知道您应该进行测试,这一事实仍然比大多数临时开发人员领先几步。
发布于 2009-01-05 16:55:43
使用版本控制。句号。SVN与Eclipse和Windows有很好的集成。为windows获取TourtisSVN客户端,并使用带有。
我会建议获得一个外部HD或使用您公司的服务器之一,使您的存储库,并经常做备份。Subversion非常适合部署和升级。只要学会如何去做,你就永远不会回头:)
至于单元测试,有些人会说这是方法,但我还没有找到足够的证据开始实践自己。如果有人在这个问题上可以说服我,那么请这样做!
另外,不要指望“企业”你的工作流程-寻找使它更好。在大型团队和团队中工作良好的实践可能对您不太好。我本人就是一个很好的开发人员,我知道你现在的处境。只要尝试每一件事,只保留一段时间后感觉自然的东西。
但是一定要尝试SVN!如果您的公司有一个带有apache的LINUX服务器,那么看看您是否可以使用DAV在那里设置服务器。
:)
https://stackoverflow.com/questions/413713
复制相似问题