NFRs for Code Quality

In order to have good code quality the following NFRs are required in all new code and are asked to be implemented in old code.

Required

The following is required to be used in all code bases:

  • Lombok - A project to have cleaner Code

  • Intellij Code Analysis - All Intellij Code analysis’ should be fixed

  • .gitignore - A git ignore should be present in all projects

Projects with API

Any project that has an API should be made available to other plugins using our module system in KnockturnCore.

Projects Using Json

The only json to file reader that should be used in Knockturn is Gson. Please do not use Jackson

MultiLingual Support

All plugins should support having any words in more than one language. A language API is provided for this.

Preferred (Not Required)

For large plugins, we request that you use Dagger2 for dependency injection, but this is just preferred and not required.