1. A method for evaluating Java objects to determine best practices across multiple vendors, the method comprising the steps of: extracting class data from one or more Java objects originating from one or more vendors having a particular design specification; creating training data from the extracted class data; using the training data to create a definition of objects associated with the particular design specification; comparing the extracted class data based on predetermined performance metrics resulting from the definition; outputting the comparison as a function of originating vendor; and selecting among possible design choices for a software program being implemented based on the comparison output.