问题 如何命名一个序列化和反序列化的类


在我的项目中,我正在创建一个将执行序列化和反序列化的类。怎么命名那个班级。到目前为止,类名是Serializer,但这会调用反序列化。对于例如,serialize.deserilize(..)似乎很奇怪。我也经历过,发现有一个术语SerDes SerDes,但似乎是一个奇怪的名字。任何人都可以提出更好的名字吗?

这是我需要解决方案的课程

class EntityTableFilterSerializationHelper{

public SerializeData serialize(EntityTableFilter filter){
///implemenation

}

public EntityTableFilter deSerialize(SerializeData serialize){
//implementation

}

}

4539
2018-05-22 12:51


起源

meta.programmers.stackexchange.com/questions/6582/... - gnat
这个名字有什么问题? - jwenting
@jwenting这个名字似乎并不干净。它说序列化助手,但它不仅有助于序列化,还有助于反序列化。 - Mohammad Adnan


答案:


“编解码器” 是“编码器 - 解码器”或“编码器 - 解码器”的简写。它通常用于视频和音频编码领域。但如果你使用它,行话警察就不会跟你说话。


8
2018-05-22 15:38



我们也有SerDes但看起来并不干净:( - Mohammad Adnan


我建议使用 [Thing]Formatter,因为您的对象正在为各种场景重新格式化信息 - 也就是说, deserialize 和 serialize

正如你的直觉所暗示的, [Thing]Serializer 只描述了其中一种行为,我们可能会期望也会有一种行为 [Thing]Deserializer。但是,如果我正在寻找一个具有序列化特定意图的对象,我可能会忽略类似的东西 [Thing]Formatter

所以没有 一个真实的答案 对此,只有任何方法的利弊。


2
2018-05-22 17:24





我正在寻找一个类似的名字然后想出了Biserializer或Biserialization。


2
2017-11-27 21:47





我假设 EntityTableFilter 是你自己的类,在这种情况下你应该简单地添加序列化和 deserialize 课堂上的方法。但是,如果该类关闭,您可以创建一个Utils / Utilities类,或者调用它 EntityTableFilterSerializer。 但是我会确保制作课程和方法 static,没有理由必须申报 EntityTableFilterSerializationHelper 使用它提供的方法。

在java中,惯例是将您的方法名称放入 camelCase,以及序列化和 反序列化是每个单词,它们应该是完全小写的。

class EntityTableFilterSerializationHelper{

    public SerializeData serialize(EntityTableFilter filter){
        //implemenation
    }

    public EntityTableFilter deserialize(SerializeData serialize){
        //implementation
    }
}

0
2018-05-22 12:57



EntityTableFilterSerializationHelper OP已经提到过这个名称,这是如何回答问题的? “任何人都可以建议一个更好的名字吗?” - gnat
这是我的不好,我正在纠正他的方法名称 - BenVlodgi
“直到现在类名是Serializer,但这会调用反序列化。对于examle serialize.deserilize(..)似乎很奇怪。我也经历过,发现有一个术语SerDes SerDes,但似乎是一个奇怪的名字。” - 根据我的阅读,这指出了类的名称问题,而不是方法的问题。在我看来,他们的 deSerialize 就像你的建议一样,最好是小写,但在问题的背景下,这只是一个小调,更适合于评论而不是答案 - gnat


我会用一个 Serializer 上课并给它 serialize 和 deserialize 方法。 Marshaling 是用于此功能的另一个术语。


0
2018-06-14 16:42