To a large extent this applies to documentation:
Optional class dependencies are used, which are used, but not required by the class. They can be loaded asynchronously and should not be accessible to an instance of the class.
For example, if this is something that your class creates Foo in the constructor, then it should be in requires .
If he runs Foo in some method, which can later be called by the developer, he can go into uses .
Evan trimboli
source share