marionettejs/backbone.marionette — pull request #2073 by thejameskyle (2014-11-14 00:23:45+00:00)
Title: Motion to deprecate getOption and this.options hash

**NOTICE OF MOTION TO DEPRECATE "GETOPTION" AND "OPTIONS" HASH**
**CASE NO. 2073**

On the date of April 9th, 2013, Brad Dunbar, core contributor of popular javascript library "Backbone.js" (hereinafter referred to as simply "Backbone") committed "Dispense with View#options merging." (Ref: https://github.com/jashkenas/backbone/commit/51eed189bf4d25877be4acdf51e0a4c6039583c5) which was later released as part of version 1.1.0 of Backbone.

This commit removed the `this.options` property from the Backbone View Class, opting in favor of merging options directly onto the view instance.

Over a year and a half later popular javascript framework "Marionette.js" (hereinafter referred to as simply "Marionette") has yet to remove `this.options` from it's codebase.

On the date of October 27th, 2012, Derick Bailey, original author of Marionette, committed "added Marionette.getOption method" (Ref: https://github.com/marionettejs/backbone.marionette/commit/03f7d69bdeaf0dd393e858a070695de50ac45233) which was later released as part of version 1.0.0 of Marionette.

`Marionette.getOption`'s primary use case was as an internal helper to select a value from either the `this.options` hash or from a class instance.

Several conversations in the past 8 months have taken place about how it is preferable to merge `options` directly onto the instance if any properties are needed later on (See EXHIBIT A), and using `getOption` for user code is considered a bad practice.

Removing `getOption` has already been added to the plans for Marionette 3.0.0 (Ref: https://github.com/marionettejs/backbone.marionette/issues/1796).

**EXHIBIT A.**
```js
initialize(options) {
this.objection = options.objection;
}
```

**RESPECTFULLY SUBMITTED**
**PRINTED NAME** _"THE" JAMES KYLE_