Is there any way in Salesforce to group apex classes under a package or namespace? Can we use managed package for internal organization purpose?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
This is a limitation in the force.com stack that makes medium-large size projects painful, if not impractical. Using managed packages in order to get a package prefix doesn’t really solve any problems, so it’s not really worth the trouble.
I usually try to organize a project into one flat level of namespaces. In lieu of actual namespaces, I’ll give each would-be-namespace a 3-5 character name, to be used as a prefix. Any class that belongs in the “namespace” gets prefixed. E.g., if I need a
payrollnamespace, I’d use aPYRLprefix. A class calledPaycheckCalculatorbecomesPYRL_PaycheckCalculator.The practical advantage of this type of convention is it helps prevent name clashes and classes are grouped by their “namespace” when viewed in a sorted list, such as in an IDE, or Setup > Develop > Apex Classes
Unfortunately, several basic OO principles are still fundamentally broken. Probably the most important one is every class forms an implicit dependency on every other class it has visibility to, which is all of them.
I’d love to hear how others have worked around this limitation.