Skip to content

Add rule to sort class methods by their modifiers and usage in other methods #16

Description

@solid-danylosafonov

There are already rules that enforce following order:

  1. attributes
  2. getters/setters
  3. constructor
  4. methods

I propose to make it stricter and enforce order of methods:

  • attributes
  • public getters/setters
  • private getters/setters?
  • constructor
  • overrides
  • public methods*
  • private methods*

* - can go above in order if they go just after method they are used in

BAD:

_privateMethod() {
  ...
}

publicMethod() {
  ...
}

@override
overwritenMethod() {
  ...
}

GOOD:

@override
overwritenMethod() {
  ...
}

publicMethod() {
  ...
}

_privateMethod() {
  ...
}

GOOD:

@override
overwritenMethod() {
  ...
  _privateMethod();
  ...
}

_privateMethod() {
  ...
}

publicMethod() {
  ...
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions