2015-01-02 4 views
0

Это основной вопрос стиля кодирования, поскольку я стараюсь быть точным в отношении лучших практик. Я просмотрел и собрал несколько Java-кода для создания случайной строки из списка и добавления ее в существующую строку в Android-приложении.Стиль Java/Android OOP для рандомизатора

В ходе расследования я обнаружил два подхода: один из них должен был использовать одну строку кода для генерации случайной строки, выбирая элемент из списка, другой должен был вызвать обычную процедуру, чтобы сделать в основном одно и то же. Я знаю, что может быть полезно разбить код на более мелкие куски, но в этом случае один из методов был бы предпочтительнее другого? Обратите внимание, что первый код закомментирован в коде.

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())); 
    } 
} 

ответ

0

Здесь в этом случае хорошая идея может перемещать код в рутину. Хотя вызов функции может замедлить приложение (невидимо), это будет лучшим подходом к повторному использованию кода. Подумайте, что вам нужна одна и та же функциональность в другой деятельности, вы можете просто вызвать эту функцию.

Смежные вопросы