Java 需要帮助命名类吗

Java 需要帮助命名类吗,java,naming,Java,Naming,我有一个分析字符串的类,如果字符串不是null或空字符串,它会根据子类的类型使用对象创建一个新字符串或新日期。如果字符串为null或空,则返回空字符串。目前我称这个类转换器,但我觉得这个名称有误导性,有没有更好的名称,任何人都可以想到这个类正在做什么?我想要一些直观的东西,使我的代码更具可读性。谢谢 public abstract class Converter { Object returnObject; public Converter() { } pu

我有一个分析字符串的类,如果字符串不是null或空字符串,它会根据子类的类型使用对象创建一个新字符串或新日期。如果字符串为null或空,则返回空字符串。目前我称这个类转换器,但我觉得这个名称有误导性,有没有更好的名称,任何人都可以想到这个类正在做什么?我想要一些直观的东西,使我的代码更具可读性。谢谢

public abstract class Converter {
    Object returnObject;

    public Converter() {

    }

    public Object convert(String value)
    {
        if(!this.isEmpty(value))
        {
            this.setReturnObject(value);    
        }else
        {
            this.returnObject = "";
        }
        return this.getReturnObject();
    }

    protected boolean isEmpty(String value)
    {
        return (value != null && value.equalsIgnoreCase(""));
    }

    protected abstract void setReturnObject(String value);

    protected Object getReturnObject(){
        return this.returnObject;
    }
}

public class NumberConverter extends Converter {
    public NumberConverter() {
    }

    protected void setReturnObject(String value) {
        this.returnObject = new Number(Integer.parseInt(value));
    }
}

您可以使用EntityMapper或EntityTransformer。

您可以使用EntityMapper或EntityTransformer。

我猜抽象类中不包含任何方法定义。。。!! 最好先检查一下那个东西

至于命名,我同意萨思威克的说法。
谢谢。:)

我猜抽象类里面不包含任何方法定义。。。!! 最好先检查一下那个东西

至于命名,我同意萨思威克的说法。
谢谢。:)

既然您正在获取一个字符串并对其进行解析,我会说“Parser”。

既然您正在获取一个字符串并对其进行解析,我会说“Parser”。

由于类不是获取一个实体,而是一个字符串,“Entity”前缀不合适

我也不会选择transformer(或converter),因为原始值不会改变(是一个不可变的字符串,这是一种规则)

我会选择StringMapper或者StringParser(正如Burleigh Bear所建议的那样)


另一方面,您可以使用泛型来指定映射/解析的类型,并使此代码更加类型安全

由于类不是采用实体,而是采用字符串,“Entity”前缀不合适

我也不会选择transformer(或converter),因为原始值不会改变(是一个不可变的字符串,这是一种规则)

我会选择StringMapper或者StringParser(正如Burleigh Bear所建议的那样)


另一方面,您可以使用泛型来指定映射/解析的类型,并使此代码更加类型安全

我认为它属于这里::)我认为我在正确的论坛。命名是产生可读代码的一个重要部分,至少根据Bob叔叔的书《干净的编码者和干净的编码》(Clean Coder and Clean code)我认为它属于这里:)我认为我在正确的论坛上。命名是产生可读代码的一个重要部分,至少根据Bob叔叔的书Clean Coder和Clean Codeabstract类中可以包含方法定义。这是一个有效的案例。只有接口中不能有方法定义。@indyah,我不确定抽象类里面不包含任何方法定义是什么意思?如果您指的是实现者必须重写的抽象方法,您看到了吗:受保护的抽象void setReturnObject(字符串值)?是 啊我的错误。。。我想我把抽象类和接口搞混了。抽象类中可以包含方法定义。这是一个有效的案例。只有接口中不能有方法定义。@indyah,我不确定抽象类里面不包含任何方法定义是什么意思?如果您指的是实现者必须重写的抽象方法,您看到了吗:受保护的抽象void setReturnObject(字符串值)?是 啊我的错误。。。我想我把抽象类和接口搞混了。