Skip to content
Arthur edited this page Nov 21, 2023 · 1 revision

The property Extensible should be explicitly set for public objects.

When you've recently published a new AppSource app and are still fine-tuning developments (we all understand the pressures of time to market), constantly obsoleting elements for minor changes can introduce challenges and significantly slow down the development process.

Extensible

A preferable approach is to set Extensible = false; on public objects until you're ready to allow others to extend them. However, overlooking the Extensible property may lead to the need for deprecation of elements or objects before implementing necessary changes. To streamline this process and ensure smoother development, this rule has been created.

table 50100 MyTable
{
    Extensible = false;

Accessibility

Note that this suggestion is applicable only to public objects. For objects that don't make sense to be public, set the accessibility property with Access = Internal; eliminating the need to set the Extensible property.

Extensibility

It's important to note that we appreciate the ability for other extensions to extend our objects. However, we advocate for enabling this functionality only when the time is right, ensuring that refactoring doesn't inadvertently cause issues for other extensions.

Clone this wiki locally