views:

159

answers:

4

What essential code packages do you use on every project, that's not included in the BCL or java distribution?

  • Mocking/Stubbing
  • Unit Tests
  • IOC / Dependency Injection
  • Logging
  • ORM
  • ...

Which implementation of the above do you use?

What essentials did I miss?

A: 
George Stocker
A: 
  • Moq (Mocking)
  • NUnit (Unit Testing)
  • Ninject (Dependency Injection)
  • NHibernate with Fluent NHibernate (OR/M)
  • Sonic.NET Migrations (Migrations)
  • FinalBuilder (Continuous Integration)
  • YUI Test (JavaScript Unit Testing)
  • WatiN (Enable Continuous Integration of JavaScript Unit Tests)
  • WatiN (Integration Tests)
Praveen Angyan
A: 
  • Visual Studio - IDE
  • Resharper - IDE Enhancements
  • Visual SVN - IDE Enhancements
  • RockScroll - IDE Enhancements
  • SVN - Source control
  • .Net Reflector - Tools
  • NHibernate - ORM
  • Moq - Mock
  • NUnit - Test
  • Castle Windsor - IOC
  • TeamCity - Continuous Integration
Serhat Özgel
+4  A: 

This is my list for Java:

  1. Spring for dependency injection, AOP, handling of configuration and glueing systems together
  2. Easymock for mocking.
  3. JUnit for testing Log4j for logging.
  4. Hibernate for ORM.
  5. CXF for web-services.
  6. Apache Commons in particular:
    • Codec for encoding/decoding (ex Base64)
    • Lang for various convenience classes
    • IO for enhanced file handling.
  7. Google Collections for their generics-enabled Collection functions.
  8. JIBX for pretty good XML marshalling/unmarshalling
  9. EhCache for general caching
  10. Not really a java package, but all my projects use Maven for dependency management and build automation.
  11. uncommon-maths for any statistics and random number generation required.
Il-Bhima