С точки зрения типизации можно еще посмотреть в сторону структур (это например класс с одними лишь public полями и без методов) - использование подобных контейнеров может уберечь от ряда ошибок в дальнейшем.
1. Структуры - для значений, которые действительно неразрывно между собой связаны и идут как одно целое. Например координаты Х и Y действительно не имеют смысла по отдельности.
2. Массив - для однотипного набора элементов
3. Разбить на несколько отдельных функций в остальных случаях, так как позволяет разделять связности в методах. Есть несколько типов связности, некоторые являются "запахом" в коде.