2011-12-17 5 views
0

У меня есть пара классов инициализации, которые ничего не делают, кроме как заполнить начальные неизменные структуры данных. В общей сложности около 200k линии в 5 классах данных просто делать такие вещи, как:эффективные способы структурирования больших фрагментов кода

x = new Y(13); 
    xTmp.z.add(x); 
    allElements.add("just some text"); 

Так в основном инициализирующие массивы моих структур - это все в основном «константа».

Мне было интересно, как лучше всего структурировать проект, например, используя библиотеки или делать что-либо еще, поэтому разработка проекта может быть обработана более эффективно, чем всегда компилировать, связывать и загружать большие классы данных в устройство для тестирования ,

К счастью, Eclipse очень быстр, и компиляция занимает не более 1 минуты (по сравнению с xCode, где требуется более 1,5 часов для компиляции). Тем не менее, я уверен, что эксперты, имеющие опыт написания больших проектов, имеют советы и рекомендации, как лучше всего их обнять.

Большое спасибо!

ответ

1

Я бы не стал записывать все эти данные.

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

Свяжите эти файлы инициализации с вашим приложением (вы можете даже поместить внутри своих файлов jar и получить к ним доступ в качестве ресурсов).

+0

Все эти данные являются конфиденциальными и зашифрованы. Я боюсь, что как только данные будут в файле, это будет легко взломано. Любой вид базы данных или файловой структуры можно относительно легко открыть и понять с помощью соответствующих инструментов. Вот почему я сам передал данные в код таким образом. Кроме того, таким образом время для запуска приложения очень короткое - удивительно не заметно вообще, что происходит до появления первого экрана - и это на действительно медленном устройстве. – user387184

+0

Что заставляет вас думать, что помещать эти данные в '.class' делает его менее взломанным, чем в текстовом файле? Если вы используете правильный формат файла конфигурации, загрузка его может быть _faster_, а не синтаксическим анализом этих огромных dataclasses. – Mat

+0

Я бы ожидал, что поиск даже разных областей данных/класса и внутри переменных, содержащих данные в скомпилированном коде, будет сложнее, чем открытие файла - не говоря о расшифровке. Тем не менее, я должен признать, что я никогда не пытался понять скомпилированный Java-код. В любом случае - что было бы хорошим подходом, чтобы разделить некоторые большие куски кода? – user387184

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