You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2021/07/05 02:17:32 UTC

[GitHub] [dubbo] pinxiong opened a new issue #8218: Abuse in variables and getters or setters

pinxiong opened a new issue #8218:
URL: https://github.com/apache/dubbo/issues/8218


   - [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
   - [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.
   
   ### Environment
   
   * Dubbo version: `3.0.2-SNAPSHOT`
   * Operating System version: `Mac OS`
   * Java version: `1.8`
   
   ### Steps to reproduce this issue
   
   + Don't need to expose private variables
   
   ```java
   public abstract class AbstractRouter implements Router {
       // The getter and setter already exist, so don't need to expose the variable
       protected int priority = DEFAULT_PRIORITY;
       // The getter and setter already exist, so don't need to expose the variable
       protected boolean force = false;
       // The getter already exists, so don't need to expose the variable
       protected URL url;
       // Don't need to expose the variable
       protected GovernanceRuleRepository ruleRepository;
   
       public AbstractRouter(URL url) {
           this.ruleRepository = ExtensionLoader.getExtensionLoader(GovernanceRuleRepository.class).getDefaultExtension();
           this.url = url;
       }
   
       @Override
       public URL getUrl() {
           return url;
       }
   
       public void setUrl(URL url) {
           this.url = url;
       }
   
       @Override
       public boolean isForce() {
           return force;
       }
   
       public void setForce(boolean force) {
           this.force = force;
       }
   
       @Override
       public int getPriority() {
           return priority;
       }
   
       public void setPriority(int priority) {
           this.priority = priority;
       }
   }
   ```
   
   + Why not use setter or getter
   ```java
   public class ConditionRouter extends AbstractRouter {
       ......
       public ConditionRouter(String rule, boolean force, boolean enabled) {
           // use setter
           this.force = force;
           this.enabled = enabled;
           if (enabled) {
               this.init(rule);
           }
       }
   
       public ConditionRouter(URL url) {
           // use setter
           this.url = url;
           // use setter
           this.priority = url.getParameter(PRIORITY_KEY, 0);
           // use setter
           this.force = url.getParameter(FORCE_KEY, false);
           this.enabled = url.getParameter(ENABLED_KEY, true);
           if (enabled) {
               init(url.getParameterAndDecoded(RULE_KEY));
           }
       }
   }
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] pinxiong closed issue #8218: Abuse in variables and getters or setters

Posted by GitBox <gi...@apache.org>.
pinxiong closed issue #8218:
URL: https://github.com/apache/dubbo/issues/8218


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org