Skip to content

Latest commit

 

History

History
28 lines (25 loc) · 10.6 KB

PROJECTrules.md

File metadata and controls

28 lines (25 loc) · 10.6 KB

Client rules

Rule Prio Description Info
UnusedZedRequestInSearchAndStorageRule 1 There should be no Zed Request in Search And Storage Client.

Glue rules

Rule Prio Description Info
GlueDependencyProviderMethodNameRule 3 DependencyProvider should only contain additional add*() or get*() methods.

Common rules

Rule Prio Description Info
InstanceResolvingRule 1 Repository, EntityManager, QueryContainer, Facade, DependencyProvider, Client, Service instances can not be initialized directly with "new". Use Dependency Provider and Resolvers
LayerAccessRule 2 Some layers must not call other layers:
No call from Zed or Glue to Yves,
No call from Glue or Yves or Zed to Client,
No call from Yves to Glue,
No call from Zed Persistence or Presentation to Glue,
No call from Zed Persistence or Presentation to Glue,
No call from Zed or Client or Yves or Glue or Service to Shared,
No call from Zed or Client or Yves or Glue to Service,
No call from Yves or Glue to Zed,
No call from Zed Presentation to Zed Business,
No call from Zed Presentation to Zed Communication,
No call from Zed Business or Communication or Presentation to Zed Persistence,
No call from Client to Zed Persistence,
No call from Zed or Client or Yves or Glue or Service or Shared to Zed Presentation.
LocatorInDependencyProviderOnlyRule 2 Locator should be used in Dependency Provider only
SingletonInstanceInDependencyProviderOnlyRule 2 Singleton getInstance() initialisation should be in Dependency Provider only.
WeirdModuleNameRule 2 Module name should not contain any weird words like test, dummy, example, antelope
ProjectNoBridgeRule 3 Project should not use and depend on Bridge pattern
TooManyPublicMethodsRule 2 Too many public methods. The method count reporting threshold = 8. Ignore methods that start with set, get,add, create, provide, is, has and end with *Action. Ignore classes: Facade, Stub, Client, Service, all in Persistence

Zed rules

Rule Prio Description Info
OrmAccessRule 2 Defines rules of calls: No call from Orm Query to Zed Business, No call from Orm Entity to Zed Business, No call from Orm Query to Zed Communication.
OrmNewEntityNotInCommunicationRule 2 Orm Entity can not be initialized in Zed Communication. Use Entity Manager.
RepositoryReadOnlyRule 2 Repository should not perform save, update, delete DB operations.
RestrictedOrmQueryAccessInZedPersistenceRule 2 Access to the Orm Query in Zed persistence is possible only through the Repository, Entity Manager or Query Container.