Setting up a new Java development shop

前端 未结 12 577
心在旅途
心在旅途 2021-02-02 04:36

I\'m setting up a Java development shop, currently just for myself as the only developer, but with hopes of needing to hire others as the business grows. Obviously I\'m hoping

相关标签:
12条回答
  • 2021-02-02 05:05

    One of your specs (in your question) says:

    maybe something to make sure automatic tests pass as part of the check-in process?

    I would suggest this is essential. Check out this matrix of continuous integration servers to see which one fits your requirements.

    0 讨论(0)
  • 2021-02-02 05:06

    For starters, SVN will be enough for you. Definitely get a bugtracker. JIRA is good but isn't free. Enforce a rule "No commits without a bugtrecker ticket". This way you will be able to track the development. Do a cruise control and run a build + unit tests after every checkin into the main branch. Bigger changes should be made on a separate branch and then merged into the main branch.

    Invest in a good IDE (I recommend intelliJ IDEA) and a good profiler (I recommend JProfiler). They're not free, but they are definitely worth their price.

    0 讨论(0)
  • 2021-02-02 05:09

    If you're starting off with just yourself as the only developer but scaling up at some point, depending on what it is you're developing, it might be worth to check out a Platform as a Service (PaaS) offering, like https://www.openshift.com or https://www.heroku.com/, both which offer developer accounts, but you can scale up to paid accounts as and when needed.

    OpenShift have CI cartridges for Jenkins so you can spin up DVCS (git), CI using Jenkins, and an app server like JBoss AS or WildFly all in one go in a matter of minutes... depending on your needs and how much time you want to dedicate to setting this up yourself locally, I'd be more inclined to look at using a PaaS.

    0 讨论(0)
  • 2021-02-02 05:12

    Rather than use Trac, consider Redmine. It allows you to have multiple projects stored in the one issue tracking system. You can then use the same setup for each project, rather than having to have N instances of Trac.

    0 讨论(0)
  • 2021-02-02 05:19

    Subversion is not a distributed approach -- go for Mercurial, Bazaar or git instead!

    Yes, Trac does do bug tracking (among other things -- check it out!).

    Documentation is indeed a must but I'm not sure what you're asking -- tools for it? Why not just javadoc?

    For communication you can have many tools, such as skype, email, IM of many kinds, and so forth -- you need to express your specific issues better to get specific advice, I think. Google Wave once it matures may be just great, but it's not production-ready yet.

    For continuous build check out CruiseControl -- of course it also run tests &c.

    You can write "triggers" for any of the build systems I've mentioned (and even good old svn;-) to run some test suite and reject the commit if it fails.

    0 讨论(0)
  • 2021-02-02 05:21

    A few more items:

    • IDE
    • Billing Software - will you be charging by the hour? If so you might want to track what your time is going towards.
    • offsite backup of some kind.

    Each one of your bullet points is probably worthy of a community wiki by themselves. Though in the end you might not care so much about best of breed in each area, but care more about how well they all integrate with your IDE or with each other.

    Also, if you really want to get new teammates up and running quickly, consider putting as much of your dev environment into source control as you can, so you can just checkout your "dev-env" project onto a new computer and be up and running instantly!

    0 讨论(0)
提交回复
热议问题