在字典、地图和附加包等中不硬编码用作键的字符串通常是好的做法吗,还是重要?

extras.putSerializable("myKey", getItem(thisIndex).getSomeObject());

诗句
extras.putSerializable(ctx.getString(R.string.my_key), getItem(thisIndex).getSomeObject());

当实例化片段并将页面标题与片段关联以用于页面标题指示符时,我将执行以下操作
    Bundle pageTitle = new Bundle();
    pageTitle.putSerializable(getString(R.string.page_title_key), getString(R.string.somePageTitle));
    fragments.add(Fragment.instantiate(this, MyPageFragment.class.getName(), pageTitle));

然后在我的碎片页面中:
@Override
public CharSequence getPageTitle(int position) {
    return this.fragments.get(position).getArguments().getSerializable(ctx.getString(R.string.page_title_key)).toString();
}

最佳答案

好的编程和mvc模型会说不要硬编码你的密钥。我也不会把它放在你的字符串资源中。相反,我更喜欢使用常量。如果将它们定义为public static其他类也可以引用相同的数据。这样,您只需要在代码中键入一次实际的键。

10-01 23:45