0 Developer: E2 Checklist
Denneisk edited this page 2023-11-15 22:46:06 +00:00

Use this for reference when creating/reviewing an E2 addition. This list contains best practices for creating an E2 extension and will help simplify the review process.

Extensions

  • Used registerExtension to register the extension if it's optional OR defined the extension in core/extloader.lua if it's required
  • Comes with sufficient test code that includes invalid use

Types

  • Default value (argument 3) is not nil
  • Invalid function (argument 7) is sufficient for the type
  • Comes with sufficient test code that includes invalid use

E2 Functions

  • E2 description defined
  • All code paths return a proper value
    • Including early returns
  • Uses self:Throw for improper usage
  • Uses attributes whenever possible
  • Assigned a fitting cost
  • Comes with sufficient test code that includes invalid use

Events

  • Defined on Events page after accepted
  • Comes with sufficient test code that includes invalid use