我是总部位于东北部一所大学的学术联盟的唯一开发者。我所有的开发工作都涉及内部工具,主要是 Java,所以没有向公众发布任何东西。现在,我觉得我的开发工作流程非常“业余爱好者”,与您在经验丰富的软件开发公司看到的完全不同。我倾向于说这并不重要,因为无论如何我是唯一的开发人员,但是进行一些更改也无妨,如果不是为了让我的工作更轻松一点并获得一些我简历上的更多技术。现在我的工作流程是这样的:
我的大部分开发工作都是在我的笔记本电脑上使用 Eclipse 完成的。一切都保存在我的笔记本电脑本地,我不使用 VCS,也没有真正备份我的代码(除了偶尔通过电子邮件发送给自己以便我可以在另一台计算机上看到它 - 是的,我告诉过你我的开发环境需要工作)。
当我完成一个项目并想要部署它时,或者如果我只是想测试它,我会使用 Eclipse 中的内置 Jar 工具来制作我的项目的可执行文件 .jar。如果我使用外部 .jar 库,我会使用 Fat-Jar 插件将这些 .jars 包含在我的可执行文件 .jar 中。
创建 .jar 后,我通过 SFTP 手动将其上传到服务器并使用类似 java -jar MyProject.jar 的东西对其进行测试。
哦,是的,我有没有提到我不进行单元测试?
我想首先解决的最明显的问题是我缺乏源代码控制。我喜欢 git,因为它具有分布式特性,但它似乎不能很好地与 Eclipse 集成,而且我听说它在我的主要开发操作系统 Windows 上运行得不是很好。所以,我倾向于 SVN,我确实有一些经验。我有自己的个人服务器,我想我会用它来控制我的源代码,因为我宁愿做自己的管理员也不愿处理大学的官僚主义。之前我在设置 SVN 时遇到了一些麻烦,但我会再试一次。也许我还会安装 Trac 或 Redmine 之类的东西来进行错误跟踪、待办事项列表等?
构建和部署呢?必须有比使用 Fat-Jar 并手动将我的 jar 上传到服务器更好的方法。我听说过像 Ant 和 Maven 这样的工具——这些工具适用于我想做的事情吗?我怎样才能开始使用这些?
我想我最终也想将单元测试与 JUnit 集成。尽管它可能应该如此,但这不是我现在主要关心的问题,因为到目前为止我的应用程序还不是非常复杂。我真的很想现在就开始简化和精简我的工作流程,然后我会轻松进行单元测试。
很抱歉这个问题很长。我想我的问题归结为,对于一个单独的开发人员,我可以/应该使用哪些工具和方法不仅可以使我的工作更轻松,而且还可以让自己接触到一些技术,这些技术在专门的开发中需要具备必要的知识房子?
编辑:感谢您到目前为止的出色回答。我并不是说我想让我的工作流程“企业化”只是为了这样做,而是为了让我的工作更简单,并掌握一些通常用于企业开发环境的技术。这就是我的意思。
最佳答案
在我看来,您实际上很清楚自己需要做什么。
必须使用 Subversion(或其他 VCS)。尽管为您的工作相关代码设置一个单独的 SVN 存储库而不是使用个人的存储库可能是明智的。
您可以使用像 Subclipse 这样的插件将 Subversion 与 Eclipse 集成,我发现它工作得很好。
我肯定会使用 Ant 或 Maven - 我更喜欢 Ant,因为它更灵活,而且我认为它比 Maven 更适合您的开发风格。但您可能还想查看 Apache Ivy ,处理依赖管理。
基本上,您设置了一个运行编译、构建和部署步骤的 ant 任务 - 这样当您创建最终的 JAR 包时,您可以确保它已经过单元测试,因为这是您的 ant 脚本的一部分。开始使用 ant 的最佳方法是查看一些示例,并通读 manual .
至于单元测试 - 您可以逐渐建立单元测试。我建议将 JUnit 与代码覆盖工具结合使用,例如 Cobertura (这很容易设置)- 它将帮助您了解您的测试覆盖了多少代码,并且是测试有效性的指标。
设置 Trac 之类的东西时,您可能也值得一试 - 能够跟踪错误很重要,而且 wiki 对于文档非常有用。
换句话说,所有这一切听起来都像是在正确的路线上,您只需要开始使用其中的一些工具即可!
关于java - 我怎样才能使我的开发工作流程更 "enterprisey"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/413713/
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R