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 中需要相同的功能,您可以简单地调用此函数。