在Android Studio中是否有一个自动生成给定类中的getter和setter的快捷方式?

在Java中有命名枚举的约定吗?

我的偏好是枚举是一种类型。例如,你有一个枚举

Fruit{Apple,Orange,Banana,Pear, ... }

NetworkConnectionType{LAN,Data_3g,Data_4g, ... }

我反对将其命名为:

FruitEnum
NetworkConnectionTypeEnum

我知道这很容易挑选出哪些文件是枚举,但你也会有:

NetworkConnectionClass
FruitClass

此外,是否有一个好的文档描述相同的常量,在哪里声明它们,等等?

这似乎是一个简单的问题,但我用Stack Overflow搜索或谷歌找不到它。类型后面跟着_t是什么意思?如

int_t anInt;

我在C代码中经常看到这种情况,这些代码是为了紧密地处理硬件——我忍不住认为它们是相关的。

我目前正在把一些项目从Ant转移到Maven。我是一个墨守成规的人,我想使用完善的约定来查找groupId和artifactId,但我找不到任何详细的约定(有一些,但它们不包括我想知道的要点)。

以这个项目为例,首先是Java包:com.mycompany.teatimer

Tea timer实际上是两个单词,但是Java包命名约定禁止插入下划线或连字符,所以我把它们写在一起。

我选择了与包ID相同的groupId,因为我认为这是一个好主意。是吗?

最后,我必须选择一个artifactId,我目前去了teatimer。但是当我查看其他Maven项目时,它们使用连字符分隔artifactid中的单词,例如:tea-timer。但是当连接到groupId: com.mycompany.teatimer.tea timer时,它看起来确实很奇怪。

你会怎么做呢?

另一个例子:

包名:com.mycompany.awesomeinhouseframework

groupId: com.mycompany.awesomeinhouseframework ?

artifactId: awesome-in - house-framework (?)

我问这个问题,尽管读过类似的,但不完全是我想在c#命名约定enum和匹配属性

我发现我倾向于用复数来命名枚举,然后用单数来“使用”它们,例如:

public enum EntityTypes {
  Type1, Type2
}

public class SomeClass {
  /*
    some codes
  */

  public EntityTypes EntityType {get; set;}

}

当然,这是我的风格,但谁能发现这种惯例的潜在问题?不过,我对“地位”这个词确实有一个“丑陋”的命名:

public enum OrderStatuses {
  Pending, Fulfilled, Error, Blah, Blah
}

public class SomeClass {
  /*
    some codes
  */

  public OrderStatuses OrderStatus {get; set;}

}

额外的信息: 也许我的问题还不够清楚。在为我所定义的枚举类型的变量命名时,我经常需要认真思考。我知道最佳实践,但这无助于减轻我命名这些变量的工作。

我不能暴露我所有的枚举属性(说“状态”)为“MyStatus”。

我的问题:有人能发现上面描述的约定的潜在问题吗?这与最佳实践无关。

问题改述:

好吧,我想我应该这样问这个问题:有人能想出一个很好的通用方式命名枚举类型,这样在使用时,命名枚举“实例”将非常直接?

那么,哪个更好,为什么?

def my_function():

or

def myFunction():

文件应该被命名为带有连字符的东西。js, camelcase .js,还是别的什么?

我在这里找不到这个问题的答案。

大多数面向对象语言的接口名称都以大写的I开头,为什么Java不这样做呢?不遵循这一惯例的理由是什么?

为了证明我的意思,如果我想有一个用户界面和一个用户实现,我在Java中有两个选择:

类=用户,接口= UserInterface 类= UserImpl,接口=用户

在大多数语言中:

类=用户,接口= IUser

现在,您可能会争辩说,您总是可以为用户实现选择一个最具描述性的名称,这样问题就解决了,但Java正在推动POJO方法,大多数IOC容器广泛使用dynamicproxy。这两件事加在一起意味着您将使用单个POJO实现拥有许多接口。

所以,我想我的问题可以归结为:“是否值得遵循更广泛的接口命名约定,尤其是考虑到Java框架的发展方向?”

我正在使用PreferenceActivity来显示我的应用程序的一些设置。我通过一个xml文件膨胀设置,使我的onCreate(和完整的类方法)看起来像这样:

public class FooActivity extends PreferenceActivity {
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        addPreferencesFromResource(R.xml.preference);
    }
}

PreferenceActivity PreferenceFragment的javadoc声明

当用户与这些首选项交互时,这些首选项将自动保存到SharedPreferences。要检索这个活动中的首选项层次结构将使用的一个SharedPreferences实例,调用getDefaultSharedPreferences(android.content.Context),并在与这个活动相同的包中调用上下文。

但是我如何在另一个活动中获得SharedPreference的名称?我只能打电话

getSharedPreferences(name, mode)

在其他活动中,但我需要PreferenceActivity使用的SharedPreference的名称。什么是名称或我如何检索它?

你如何命名你创建的不同的类/接口? 有时我没有实现信息可以添加到实现名称中——比如接口FileHandler和类SqlFileHandler。

当这种情况发生时,我通常将接口命名为“正常”名称,如Truck,并将实际的类命名为TruckClass。

在这方面,如何命名接口和类?