shivaji has posted 4 posts at DZone. View Full User Profile

My Design, Testing, Coding Tips

11.10.2011
| 1629 views |
  • submit to reddit
Design
  • 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
Testing
  • 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
Coding
  • 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
0
Published at DZone with permission of its author, shivaji chelladurai.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)