gpt4 book ai didi

Java:原始类型变体的代码结构和类命名 - 最佳实践

转载 作者:行者123 更新时间:2023-12-04 06:34:57 25 4
gpt4 key购买 nike

最近,我一直在编写许多类,除了泛型变体之外,还有一些原始变体,例如 Foo<T> , IntFoo , DoubleFoo等等。首先,我曾经将每个变体放在单独的文件中,但我很快发现由于大量具有相似名称的类,包内容变得不可读。另一方面,将它们放在单独的包中通常会导致包之间失去凝聚力和额外的依赖关系。

同时,我想到了具有以下结构的想法:

public class Foo {
public static class TypeFoo<T> { ... }
public static class IntFoo { ... }
public static class DoubleFoo { ... }
...
}

或者
public class Foo {
public static class Type<T> { ... }
public static class Int { ... }
public static class Double { ... }
}

我对两件事感兴趣:
  • 与每个文件一个类的方法相比,这两种方法中的任何一种在仅使用一个内部类(例如类的 int 变体)时是否会导致更大的开销?当存在内部接口(interface)时,是否会应用此开销(如果有)?
  • 这两种方法中哪一种更好,如果有的话,或者如果没有更好的方法,还有哪些替代方法?
  • 最佳答案

    在我看来,从长远来看,内部类(class)将更加痛苦。如果你看看微软命名他们的animation classes的方式,他们和你有同样的困境。他们选择了很多不同的类(class),但作为这些类(class)的消费者,我发现我更喜欢这种方式。

    要回答您的第一个问题,应该没有开销。当 java 编译内部类时,它会将它们分成单独的 *.class无论如何文件,所以最终结果是相同的。在编译期间,解析器必须筛选大量 Foo.*引用,但额外的时间可以忽略不计。

    关于Java:原始类型变体的代码结构和类命名 - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4984284/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com