{"action":"created","issue":{"url":"https://api.github.com/repos/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/189","labels_url":"https://api.github.com/repos/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/189/labels{/name}","comments_url":"https://api.github.com/repos/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/189/comments","events_url":"https://api.github.com/repos/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/189/events","html_url":"https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/189","id":53007069,"number":189,"title":"Refactor MakeMaker.pm","user":{"login":"mohawk2","id":7308181,"avatar_url":"https://avatars.githubusercontent.com/u/7308181?v=3","gravatar_id":"","url":"https://api.github.com/users/mohawk2","html_url":"https://github.com/mohawk2","followers_url":"https://api.github.com/users/mohawk2/followers","following_url":"https://api.github.com/users/mohawk2/following{/other_user}","gists_url":"https://api.github.com/users/mohawk2/gists{/gist_id}","starred_url":"https://api.github.com/users/mohawk2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mohawk2/subscriptions","organizations_url":"https://api.github.com/users/mohawk2/orgs","repos_url":"https://api.github.com/users/mohawk2/repos","events_url":"https://api.github.com/users/mohawk2/events{/privacy}","received_events_url":"https://api.github.com/users/mohawk2/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2014-12-28T18:58:35Z","updated_at":"2015-07-05T22:52:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pulls/189","html_url":"https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/189","diff_url":"https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/189.diff","patch_url":"https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/189.patch"},"body":"Mainly breaking MM->new up from being nearly 400 lines, to 40ish. Done as part of effort to implement extensions but turns out best way forward on that is orthogonal."},"comment":{"url":"https://api.github.com/repos/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/comments/118674590","html_url":"https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/189#issuecomment-118674590","issue_url":"https://api.github.com/repos/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/189","id":118674590,"user":{"login":"Leont","id":50472,"avatar_url":"https://avatars.githubusercontent.com/u/50472?v=3","gravatar_id":"","url":"https://api.github.com/users/Leont","html_url":"https://github.com/Leont","followers_url":"https://api.github.com/users/Leont/followers","following_url":"https://api.github.com/users/Leont/following{/other_user}","gists_url":"https://api.github.com/users/Leont/gists{/gist_id}","starred_url":"https://api.github.com/users/Leont/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Leont/subscriptions","organizations_url":"https://api.github.com/users/Leont/orgs","repos_url":"https://api.github.com/users/Leont/repos","events_url":"https://api.github.com/users/Leont/events{/privacy}","received_events_url":"https://api.github.com/users/Leont/received_events","type":"User","site_admin":false},"created_at":"2015-07-05T22:52:08Z","updated_at":"2015-07-05T22:52:08Z","body":"> and claim it is far easier for others to do so as well.\r\n\r\nThe `init_*` methods are similarly cut up in 19 pieces and I never found that to be particularly helpful. It is currently a long list of code that is run serially, and after the breakup it is still a long list of code that is run serially.\r\n\r\nI don't oppose refactoring this (in fact I like some of it), but I don't think it should be approached this mechanically.\r\n\r\n> We may be stuck with the poor design of it doing too much, because of back-compat (I found modules that rely on current behaviour), but I didn't think we were stuck with incomprehensibe code?\r\n\r\nYou're missing my point entirely.\r\n\r\nFirst of all, its length may be **ugly** but that's not the same as incomprehensible. I don't believe it is made more comprehensible by moving it around, even if it may be prettier. It's far from being the most difficult part of MakeMaker anyway.\r\n\r\nSecondly, after your refactoring it is still poorly designed. IME, having short methods is not a goal by itself, but a typical result of good architecture. This is even more the case for constructors IME.\r\n\r\nBut my real point is this: is there anything that is made possible or even easier after this? Is there any concrete advantage to this? This has more cost than your effort in writing it, I'd like to know the benefit."}}