+ Added brief

This commit is contained in:
Matthew Cech
2019-04-12 22:30:28 -07:00
parent 17a9c1980e
commit 815f358873
+7 -5
View File
@@ -1,9 +1,10 @@
KittyBot Style Guide # KittyBot Style Guide
This document represents the reasonable defaults and expectations for this project, and provides some rationale for the style restrictions! There can always be exceptions to the rules, but they may need justifying.
Code Formatting
--- ---
# Formatting
#### Indenting #### Indenting
Tabs are used so that individual developers can configure their own indent width settings that won't be enforced on others working on the project. Tabs are used so that individual developers can configure their own indent width settings that won't be enforced on others working on the project.
@@ -51,7 +52,8 @@ Favor a broad to narrow naming scheme to promote autocomplete grouping. For exam
Don't. Don't.
# Architecture Architecture
---
#### Commands #### Commands
All commands get spawned on their own threads, and should be implemented in a thread-safe way. Commands all derive from the Command.java class, and use the custom types defined in KittyBot. In order to make any later changes easier and decouple the command logic from core and routing, no JDA structures should be directly exposed in commands, and instead everything needed should be added to the kitty structures that add space to the system. Commands should override the `HelpText` and `Run` functions. Commands are registered in the ObjectBuilderFactory, and the command registration structure can be used for sub-commands as needed. See the RPG for an example. All commands get spawned on their own threads, and should be implemented in a thread-safe way. Commands all derive from the Command.java class, and use the custom types defined in KittyBot. In order to make any later changes easier and decouple the command logic from core and routing, no JDA structures should be directly exposed in commands, and instead everything needed should be added to the kitty structures that add space to the system. Commands should override the `HelpText` and `Run` functions. Commands are registered in the ObjectBuilderFactory, and the command registration structure can be used for sub-commands as needed. See the RPG for an example.