我是第一次尝试我的手在Firebase,我遇到了一个问题。只有在getter方法符合变量名或者成员变量是公共的情况下,才能从Firebase存储/数据库中获取数据。但是我对成员变量的命名约定是mvariableName
,并且我在getter方法名称中没有使用“m”。现在我有多个问题:
公开模型成员变量是可行的选择还是错误的做法?这里最好的命名方法是什么?我应该将getter方法命名为getMname
,还是应该将“m”排除在成员变量名之外?然后我应该为整个项目更改它还是只为这个类更改它?我只是想知道这里的最佳实践是什么。
这是读取条目的类:
public class ImagesActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private ImageAdapter mAdapter;
private FirebaseStorage mFirebaseStorage;
private DatabaseReference mDatabase;
private List<Upload> mUploads;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_images);
mRecyclerView = findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mUploads = new ArrayList<>();
mFirebaseStorage = FirebaseStorage.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference(Constants.DATABASE_PATH_UPLOADS);
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Upload upload = postSnapshot.getValue(Upload.class);
Log.i("UPLOAD", "Upload : " + upload.getName());
mUploads.add(upload);
}
mAdapter = new ImageAdapter(getApplicationContext(), mUploads);
mRecyclerView.setAdapter(mAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
这些是规则:
数据库:
{
"rules": {
".read": true,
".write": true
}
}
存储:
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if true;
}
}
}
和upload.class(只有在字段为public或getter方法名符合M约定时才起作用,这很难看):
public class Upload {
public String mName;
public String mImageUrl;
public Upload() {
}
public Upload(String name, String imageUrl) {
if (name.trim().equals("")) {
name = "No Name";
}
mName = name;
mImageUrl = imageUrl;
}
public String getName() {
return mName;
}
public String getImageUrl() {
return mImageUrl;
}
}
问题内容: 是否有类似于JavaBeans的DAO方法的标准命名约定? 例如,我看到的一种命名约定是用来返回单个实体并返回实体列表。 如果没有,那您的团队正在使用什么,为什么? 问题答案: 一般我的名字在这样的方式的方法中,该名称暗示将由方法,如所施加的CRUD操作的类型,或。 可以应用于操作,例如。 可以应用于操作,例如。 可以应用于执行操作的方法。 可以应用于操作,例如。虽然我不太确定物理
问题内容: 如果我的Java类中有一个属性’gId’,该accessor方法应命名为什么? 这就是我的假设。 如果有一个属性,我认为应该是,这种外观很难看(尽管这并不是指女孩的另一种拼写)。 如果该属性只是方法名称,那么我不会首先将该属性命名为URL,这会使访问器再次变得丑陋- 我记得在Javabean Specification PDF的某处读到了有关属性的大写以及涉及首字母缩略词的案例,但现在
为了在跨API开发中向开发者提供一致的开发体验,所有的命名应该保证: 简单 直观 一致 这适用于接口、资源、集合、方法以及消息的命名。 因为很多开发者并非以英语作为母语,所以命名约定的目标之一是确保大多数开发者可以更容易理解 API。对于方法和资源,我们鼓励使用简单、直观和一致的单词来命名。 API 中的命名应该使用正确的美式英语。例如,使用美式英语的 license 而非英式英语的 licenc
在本节,我们不会讨论适用于大规模和可维护的最佳 CSS 命名方案,因为这不仅仅超过了个人的能力范围,也不是一个Sass样式指南可以解决的问题。我个人推荐遵从 CSS Guidelines 的建议。 良好的命名对保持整体代码的一致性和可读性非常重要,在 Sass 中可以命名的地方如下: 变量; 函数; 混合宏。 由于 Sass 占位符遵循和类名相同的命名模式,因此被视为常规的 CSS 选择器,也就在
函数名 小技巧 使用小写字母,并用下划线分隔单词。使用双冒号 :: 分隔库。函数名之后必须有圆括号。关键词 function 是可选的,但必须在一个项目中保持一致。 如果你正在写单个函数,请用小写字母来命名,并用下划线分隔单词。如果你正在写一个包,使用双冒号 :: 来分隔包名。大括号必须和函数名位于同一行(就像在Google的其他语言一样),并且函数名和圆括号之间没有空格。 # Single fu
问题内容: 我的完整变量名称是“唯一代码”,但是我希望此变量是“ ucode” -ish。 那么考虑Java命名约定是正确的吗? 编码 uCode UCode 问题答案: 请参阅编码约定。对于变量,建议使用驼峰式大小写。回覆。命名,我本以为 将是最合乎逻辑的选择(我知道那不在您的选择列表中)。任何变体在我看来都是 unicode 的缩写,我认为这是一种误导。以上不是一个太长的名称(例如,它不是Ab