Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Status Quo

Sakai has historically used a coding pattern called a 'static cover' that masks the internals of dependency injection. This can make things easier for new developers, but - without rehashing all the arguments - it is also fair to say it is controversial. In particular, it can complicate the writing of unit tests, and so it has a bearing on the maintainability of the code.

Even if there were consensus on whether static covers are a bad thing (in case it's not clear: there isn't), refactoring to remove them would place a considerable burden on a great many tools, core and contrib, to refactor away from them.

Proposal

Static covers that already exist will be retained indefinitely, but deprecated, and core code (ie. trunk) will gradually be refactored not to use them.

Who would be affected

Developers.