-
Notifications
You must be signed in to change notification settings - Fork 14
Directories and Assemblies Structure
Mikhail Agapov edited this page Oct 5, 2023
·
7 revisions
Every feature can contain an arbitrary range of Assets which can include but are not limited to:
- Scripts
- Textures
- Models (FBX, OBJ, etc.)
- Audio
- Prefabs
- Scriptable Objects
The default place for a feature is a subdirectory at Assets/DCL path.
In order to maintain a reasonable number of assemblies and a manageable number of dependencies between them consider the following rules:
- By default introduce one and only one assembly per feature.
- Control exposed members by
publicaccess level: if members should not be exposed make theminternalinstead. - if assemblies have cross-dependencies to avoid unnecessary granularity of assemblies group several features together by Assembly Definition References. They should be reasonably close enough and otherwise undisconnectable to be qualified for such a merge. Otherwise, there should be just a one-directional reference between their assemblies.
- Use Assembly Definition References to connect different directories together to a single assembly.
- Use different directories for Unit Tests but connect all of them to the single "DCL.Tests" assembly. We don't care about the number of dependencies in the case of Tests as any other assembly never references Tests.
TODO
TODO