Over a million developers have joined DZone.

My Design, Testing, Coding Tips

DZone's Guide to

My Design, Testing, Coding Tips

· ·
Free Resource
  • Design for optimum usage of computer resources such as Memory, CPU, I/O & Connection
  • Follow design principles such as OCP, Liskov Substitution , IOC, Interface, etc
  • Create the Stub classes following JEE design patterns for Controller, View, Model, Listener / Command, Delegate, Facade, Manager & DAO
  • Generate UML diagrams such as Collaboration, Sequence, Activity and Deployment diagrams using the stubs
  • Generate JDependency & JavaNCSS reports and re-factor the stubs based on these report output
  • Design for singleton objects, object pooling, caching (both service & data), queing techniques
  • Use annotation extensively for injecting business services & dao entities, webservice, messaging and transaction
  • Design security as a cross concern (filter, aop, etc) rather than handling it part of the application logic
  • List down the High Level Scenarios under Functional, Security & Performance categories
  • Identify the various environments and the test cycles
  • Automate Testing using JUnit, TestNG, Marathon, etc
  • Mock actual services with SOAP UI, EasyMock, etc
  • Track Code Coverage using Cobertura, Emma, etc
  • Be conversant with the Java API specification for the core and dependent libraries before referring to forums / google
  • Use Automated Review tools / plugins such as Eclipse Metrics, PMD, Findbugs
  • Update local copy from version control frequently, provide adequate Comments and perform atomic commits
  • For Minor Enhancements perform Impact Analysis on UI, Service, DAO, Configuration, Master Data and provide Help & Release Document
Build & Release Management
  • Track changes using tools such as JIRA
  • Manage dependencies using tools such as Maven, Ivy, etc
  • Automate builds using Continous Integration tools such as Continuum, Cruise Control, Sonar, etc
  • Manage Dev / Test / Production Configurations using Maven Profiles

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}