Types 我应该用自己的类型封装id字段吗?

Types 我应该用自己的类型封装id字段吗?,types,language-agnostic,Types,Language Agnostic,考虑以下片段: class User { String id; ...other fields } 我应该用哪一个?我从未见过有人使用自己的Id类型。现在我在想:这样做有什么缺点吗?这种技术叫做微型打字,有时是微型打字。它倾向于使代码更具表现力,从而更安全、更可读。 然而,它也创建了另一层间接性:代码的读者必须了解Id是什么才能完全理解它。她可能已经知道什么是弦了 一般来说,我强烈推荐缩微打字。可能有一些情况下,它可能是过度,但我还没有找到一个到目前为止。所以别担心 关于您的具体实现

考虑以下片段:

class User {
  String id;

  ...other fields
}
我应该用哪一个?我从未见过有人使用自己的Id类型。现在我在想:这样做有什么缺点吗?

这种技术叫做微型打字,有时是微型打字。它倾向于使代码更具表现力,从而更安全、更可读。 然而,它也创建了另一层间接性:代码的读者必须了解Id是什么才能完全理解它。她可能已经知道什么是弦了

一般来说,我强烈推荐缩微打字。可能有一些情况下,它可能是过度,但我还没有找到一个到目前为止。所以别担心

关于您的具体实现:在某些语言(如Java)中,不可能从标准类(如String)派生。在其他语言如C++中,这是可能的,但不推荐。因此,我宁愿使用组合而不是继承:

class Id {
    private String id;
    ...
}
这种技术称为微型打字,有时称为微型打字。它倾向于使代码更具表现力,从而更安全、更可读。 然而,它也创建了另一层间接性:代码的读者必须了解Id是什么才能完全理解它。她可能已经知道什么是弦了

一般来说,我强烈推荐缩微打字。可能有一些情况下,它可能是过度,但我还没有找到一个到目前为止。所以别担心

关于您的具体实现:在某些语言(如Java)中,不可能从标准类(如String)派生。在其他语言如C++中,这是可能的,但不推荐。因此,我宁愿使用组合而不是继承:

class Id {
    private String id;
    ...
}