{"action":"opened","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/283","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/283/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/283/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/283/events","html_url":"https://github.com/dotnet/roslyn/issues/283","id":56856134,"number":283,"title":"ExtractMethod -- Always extract something, even if advanced techniques cannot be applied","user":{"login":"dpoeschl","id":235241,"avatar_url":"https://avatars.githubusercontent.com/u/235241?v=3","gravatar_id":"","url":"https://api.github.com/users/dpoeschl","html_url":"https://github.com/dpoeschl","followers_url":"https://api.github.com/users/dpoeschl/followers","following_url":"https://api.github.com/users/dpoeschl/following{/other_user}","gists_url":"https://api.github.com/users/dpoeschl/gists{/gist_id}","starred_url":"https://api.github.com/users/dpoeschl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpoeschl/subscriptions","organizations_url":"https://api.github.com/users/dpoeschl/orgs","repos_url":"https://api.github.com/users/dpoeschl/repos","events_url":"https://api.github.com/users/dpoeschl/events{/privacy}","received_events_url":"https://api.github.com/users/dpoeschl/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-IDE","name":"Area-IDE","color":"5319e7"},{"url":"https://api.github.com/repos/dotnet/roslyn/labels/Bug","name":"Bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"balajikris","id":4213867,"avatar_url":"https://avatars.githubusercontent.com/u/4213867?v=3","gravatar_id":"","url":"https://api.github.com/users/balajikris","html_url":"https://github.com/balajikris","followers_url":"https://api.github.com/users/balajikris/followers","following_url":"https://api.github.com/users/balajikris/following{/other_user}","gists_url":"https://api.github.com/users/balajikris/gists{/gist_id}","starred_url":"https://api.github.com/users/balajikris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balajikris/subscriptions","organizations_url":"https://api.github.com/users/balajikris/orgs","repos_url":"https://api.github.com/users/balajikris/repos","events_url":"https://api.github.com/users/balajikris/events{/privacy}","received_events_url":"https://api.github.com/users/balajikris/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/dotnet/roslyn/milestones/1","labels_url":"https://api.github.com/repos/dotnet/roslyn/milestones/1/labels","id":937397,"number":1,"title":"1.0 (stable)","description":"This is our 1.0 Milestone. ","creator":{"login":"jaredpar","id":146967,"avatar_url":"https://avatars.githubusercontent.com/u/146967?v=3","gravatar_id":"","url":"https://api.github.com/users/jaredpar","html_url":"https://github.com/jaredpar","followers_url":"https://api.github.com/users/jaredpar/followers","following_url":"https://api.github.com/users/jaredpar/following{/other_user}","gists_url":"https://api.github.com/users/jaredpar/gists{/gist_id}","starred_url":"https://api.github.com/users/jaredpar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaredpar/subscriptions","organizations_url":"https://api.github.com/users/jaredpar/orgs","repos_url":"https://api.github.com/users/jaredpar/repos","events_url":"https://api.github.com/users/jaredpar/events{/privacy}","received_events_url":"https://api.github.com/users/jaredpar/received_events","type":"User","site_admin":false},"open_issues":14,"closed_issues":7,"state":"open","created_at":"2015-01-15T20:45:24Z","updated_at":"2015-02-06T19:27:05Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-02-06T19:27:05Z","updated_at":"2015-02-06T19:27:06Z","closed_at":null,"body":"Ported from TFS WorkItem: <b>1097177</b>\n\n------------------------------\n\n<p><b>Repro Steps:</b></p>\n<P><B>Affected Branch:</B> <BR><B>Affected Build:</B> <BR><B>Affected Product Language:</B> <BR><BR><B>Steps to reproduce:</B><BR><BR>Today, lots of attempts to extract method can fail for difficult-to-determine reasons, but often users would be okay with <EM>something </EM>happening, even if it's not a perfect experience.</P>\n<P>&nbsp;</P>\n<P>If the selection is perfectly extractable without errors, then the user would have the same experience.</P>\n<P>&nbsp;</P>\n<P>If the selection contains code that we would not extract today, then we could include the error messages&nbsp;in our summary text in the preview pane (e.g. \"The resulting code may contain errors because not all code paths return.\"), but still offer&nbsp;to do a best-effort refactoring. </P>\n<P>&nbsp;</P>\n<P>This avoids the&nbsp;user needing to manually do the extraction whenever something fails (the reason for which can be difficult to discover), and also&nbsp;prevents general annoyance at the partial availability of the feature.</P>\n\n------------------------------\n\n\n<p><b>Revisions:</b></p>\n\n\n1) Created By David Poeschl (12/16/2014 2:02:18 PM)\n\n\n\n------------------------------\n\n2) Edited By Kevin Pilch-Bisson (12/17/2014 9:45:39 AM)\n\nWe were discussing this at lunch yesterday.&nbsp; David and Dustin have some ideas here if you need more clarification, but we think this would be an improvement.\n\n------------------------------"}}