Github user mattf-horton commented on the issue:

    https://github.com/apache/incubator-metron/pull/395
  
    Thanks, @merrimanr for expressing that better than I did.
    @nickwallen , one of the principles of reliable refactoring[1] is to 
methodically do only and precisely the changes needed to achieve each design 
goal, so that implementors and reviewers may reason about the correctness of 
the changes, and avoid introducing new bugs or side effects.  
    
    Thus, by starting from a refactoring of ConfiguredBolt, I would expect to 
see many lines in ZkConfigurationManager that look exactly like the lines in 
ConfiguredBolt, in the same order and organization, with only necessary changes 
to accomodate their new packaging.  That should be the starting point.  Then 
new features can be added, such as deserialized caching and perhaps utility 
APIs to assist the sorts of things ConfiguredProfilerBolt does as a client of 
the configuration manager.
    
    [1] Martin Fowler and Kent Beck, "Refactoring: Improving the Design of 
Existing Code" 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to