1. Indent four spaces (not three and not tabs). 2. Literals used (other than 0 or 1). 3. NULL used in several places. 4. Put braces on their own lines like this: if (condition) { } Avoid this style: if (condition) { } 5. Makedepend utility was made the default depend utility on some platforms. The deafault should be "mu depend". 6. Regression tests should only print this: "+++++ passed all tests" SOME TESTS TAKE A LONG TIME TO RUN AND NEED TO PRINT IMTERMEDIATE OUTPUT SO THE DEVELOPER DOES NOT THINK THE TEST IS HANGED. Extraneous output should be removed. 7. All defined constants must begin with "PEGASUS_". 8. All method must use the form myMethodName(). Many places have my_method_name() (with underscores). 9. Avoid use of (void). Use () instead. WHY? 10. Either get rid of throw() declarations or use them everywhere (perhaps they are not supported by some compilers). 11. Avoid indenting "private:", "public:" and "protected". Use this style: WHY? class X { private: ... public: }; 12. Use "Type* x" rather than "Type *x". WHY? 13. Use "if (" rather than "if(". WHY? 14. Avoid use of spaces around the condition: WHY? if( cond ) 15. Keep all lines within 80 columns. 16. Build fails on many Linux system (threading support problems). WHICH ONES ? 17. SSL is the default on Linux (is this okay?). 19. Fix main logic (Unix v.s. Windows). 21. Get rid of CIMIndication class. 22. Revise licensing headers on all files. BE CAREFUL NOT TO CHANGE LICENSE AGREEMENT 23. Add Log CVS directives. 24. Avoid inlining of large functions. 25. Find decent code formatter. 26. Revisit use of bit masks in provider interfaces. 27. Revisit provider loading/manager etc. 28. Consolidate CIMOM handles. 29. Get rid of directories containing .old extensions. 30. Use constant global queue ids as described in MessagQueue.h docs. USE META DISPATCHER TO FIND QUEUES. CONSTANT IDS LIMIT QUEUES TO ONE OF EACH PREDEFINED TYPE. 31. Is the Facade class necessary. 32. Response handler need not have to action methods (for single and multiple objects). WHY CREATE AN ARRAY OBJECT THAT WILL ONLY HOLD ONE CIM OBJECT? TOO MUCH OVERHEAD. HAVING A DUAL INTERFACE IS AN IMPORTANT OPTIMIZATION. 33. Clean up warnings on NT. 34. Use Linkage.h files everywhere. 35. Need to add notifiers (using message queue observer scheme). USE META DISPATCHER INSTEAD 36. Need to define services's interface to CIMOM. 37. Finalize the client interface (SDK).