Java/Android 随机发生器的 OOP 样式
Java/Android OOP style for randomizer
这是一个基本的编码风格问题,因为我试图在最佳实践方面做到超级准确。我四处浏览并拼凑了一些 Java 代码,用于从列表生成随机字符串并将其添加到我的 Android 应用程序中的现有字符串。
经过调查,我发现了两种方法,一种是使用单行代码通过从列表中选择一个项目来生成随机字符串,另一种是调用例程来完成基本相同的事情。我知道将代码分成更小的块可能很好,但在这种情况下,一种方法通常优于另一种方法吗?请注意,第一个选项在代码中被注释掉了。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
//Add a random day to the string
List<String> list = new ArrayList<>();
list.add("Monday");
list.add("Tuesday");
list.add("Wednesday");
list.add("Thursday");
list.add("Friday");
list.add("Saturday");
list.add("Saturday");
//Random rand = new Random();
//String random = list.get(rand.nextInt(list.size()));
String random = getRandom(list);
message += " " + random;
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
static public <T> T getRandom(List<T> list){
Random rand = new Random();
if(list == null || list.isEmpty()){
return null;
}else{
return list.get(rand.nextInt(list.size()));
}
}
在这种情况下,将代码移到例程中是一个好主意。尽管函数调用可能会(无形地)减慢应用程序的速度,但这将是代码重用的最佳方法。考虑到您在另一个 activity 中需要相同的功能,您可以简单地调用此函数。
这是一个基本的编码风格问题,因为我试图在最佳实践方面做到超级准确。我四处浏览并拼凑了一些 Java 代码,用于从列表生成随机字符串并将其添加到我的 Android 应用程序中的现有字符串。
经过调查,我发现了两种方法,一种是使用单行代码通过从列表中选择一个项目来生成随机字符串,另一种是调用例程来完成基本相同的事情。我知道将代码分成更小的块可能很好,但在这种情况下,一种方法通常优于另一种方法吗?请注意,第一个选项在代码中被注释掉了。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
//Add a random day to the string
List<String> list = new ArrayList<>();
list.add("Monday");
list.add("Tuesday");
list.add("Wednesday");
list.add("Thursday");
list.add("Friday");
list.add("Saturday");
list.add("Saturday");
//Random rand = new Random();
//String random = list.get(rand.nextInt(list.size()));
String random = getRandom(list);
message += " " + random;
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
static public <T> T getRandom(List<T> list){
Random rand = new Random();
if(list == null || list.isEmpty()){
return null;
}else{
return list.get(rand.nextInt(list.size()));
}
}
在这种情况下,将代码移到例程中是一个好主意。尽管函数调用可能会(无形地)减慢应用程序的速度,但这将是代码重用的最佳方法。考虑到您在另一个 activity 中需要相同的功能,您可以简单地调用此函数。