{"action":"created","issue":{"url":"https://api.github.com/repos/lhorie/mithril.js/issues/1431","repository_url":"https://api.github.com/repos/lhorie/mithril.js","labels_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1431/labels{/name}","comments_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1431/comments","events_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1431/events","html_url":"https://github.com/lhorie/mithril.js/pull/1431","id":191860507,"number":1431,"title":"Demystify component antipatterns","user":{"login":"barneycarroll","id":83627,"avatar_url":"https://avatars.githubusercontent.com/u/83627?v=3","gravatar_id":"","url":"https://api.github.com/users/barneycarroll","html_url":"https://github.com/barneycarroll","followers_url":"https://api.github.com/users/barneycarroll/followers","following_url":"https://api.github.com/users/barneycarroll/following{/other_user}","gists_url":"https://api.github.com/users/barneycarroll/gists{/gist_id}","starred_url":"https://api.github.com/users/barneycarroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/barneycarroll/subscriptions","organizations_url":"https://api.github.com/users/barneycarroll/orgs","repos_url":"https://api.github.com/users/barneycarroll/repos","events_url":"https://api.github.com/users/barneycarroll/events{/privacy}","received_events_url":"https://api.github.com/users/barneycarroll/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-27T13:07:56Z","updated_at":"2016-11-28T11:58:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/lhorie/mithril.js/pulls/1431","html_url":"https://github.com/lhorie/mithril.js/pull/1431","diff_url":"https://github.com/lhorie/mithril.js/pull/1431.diff","patch_url":"https://github.com/lhorie/mithril.js/pull/1431.patch"},"body":"@cmawhorter [pointed out on the chat](https://gitter.im/lhorie/mithril.js?at=583a4b0e89d179bf4dcc2f1c) that the component's anti-pattern documentation section '[avoid restrictive interfaces](https://github.com/lhorie/mithril.js/blob/b87cf7b28853aab4cd306afc24d7507b81027c32/docs/components.md#avoid-restrictive-interfaces)' seems to be immediately contradicted by 'avoid magic indices'.\r\n\r\nI think the overall tone of the anti patterns section comes across as distant and dogmatic, the wording is too imperative and technical without acknowledging circumstantial nuance.\r\n\r\nThis redraft attempts to make it clearer that these two sections are intended to be read together as examples of when custom interfaces are and aren't desirable. \r\n\r\nUltimately I think this subject should be taken out of 'avoid anti-patterns' and the advice be incorporated into a more comprehensive examination of the desirability of custom interfaces - specifically because it still leaves the impression of a dualistic dichotomy between wholesale injection and destructuring into the view which glosses over eg lifecycle method attributes and the advanced-level possibilities of abstract attributes that are manipulated before use in the view and /or used for other internal logic.\r\n\r\ncc @Papipo @JAForbes @cmawhorter what do you think?"},"comment":{"url":"https://api.github.com/repos/lhorie/mithril.js/issues/comments/263253519","html_url":"https://github.com/lhorie/mithril.js/pull/1431#issuecomment-263253519","issue_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1431","id":263253519,"user":{"login":"isiahmeadows","id":4483844,"avatar_url":"https://avatars.githubusercontent.com/u/4483844?v=3","gravatar_id":"","url":"https://api.github.com/users/isiahmeadows","html_url":"https://github.com/isiahmeadows","followers_url":"https://api.github.com/users/isiahmeadows/followers","following_url":"https://api.github.com/users/isiahmeadows/following{/other_user}","gists_url":"https://api.github.com/users/isiahmeadows/gists{/gist_id}","starred_url":"https://api.github.com/users/isiahmeadows/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isiahmeadows/subscriptions","organizations_url":"https://api.github.com/users/isiahmeadows/orgs","repos_url":"https://api.github.com/users/isiahmeadows/repos","events_url":"https://api.github.com/users/isiahmeadows/events{/privacy}","received_events_url":"https://api.github.com/users/isiahmeadows/received_events","type":"User","site_admin":false},"created_at":"2016-11-28T11:58:28Z","updated_at":"2016-11-28T11:58:28Z","body":"The documentation needs an overhaul, but the rewrite will render most of the old docs irrelevant. Just a little note here. :smile: "}}
{"actor":{"display_login":"isiahmeadows"}}