Hi Sir/Madam,

I'm doing some research in automatic refactoring suggestion. By observing 
the co-change pattern of some similar code, we would like to develop a tool 
to suggest possible refactorings to apply in order to extract out common 
code while parameterizing any difference between them.

I have examined the code snippets in class 
org.elasticsearch.action.search.type.TransportSearchScrollScanAction.AsyncAction,
org.elasticsearch.action.search.type.TransportSearchScrollQueryAndFetchAction.AsyncAction,
 
and
org.elasticsearch.action.search.type.TransportSearchScrollQueryThenFetchAction.AsyncAction.

I notice that all of the three classes have method buildShardFailures() 
defined. The method bodies are pretty similar and they experience similar 
or same changes at least once in the version history. Do you think it is a 
good idea or bad idea to extract a method out of the methods?

No matter whether you would like to extract a method or not, would you like 
to share the factors in your mind which affect your decision, such as 
complexity of refactoring, poor readability, poor maintainability, etc.? For 
each factor, how do you think it can affect your decision about using 
refactoring? If possible, any quantative analysis will be great. For 
example, if the code size after refactoring is greater than that before 
refactoring, I won't do refactoring. Or if there are only two lines shared 
between two code snippets, I won't do refactoring, etc. 

Thanks a lot for your help! Your suggestion will be very valuable for our 
research.

Best regards,
Na Meng

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/24d9494b-c514-477b-8096-ae6dec8ca638%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to