Прежде всего, если вы новичок в Джулии и структура написания программы в ней, я предлагаю вам проверить Официальные документы Джулии для отличного объяснения того, как начать писать код в Джулии,
Если вы пришли с языка, подобного Java, и читали документацию, указанную выше, вы можете быть немного смущены тем, где находятся документы по структуре программы Julia. Насколько я понимаю, этот документ не существует по нескольким причинам.
Юлия как язык очень мало навязывает вам как программисту. Это может привести к некоторой неопределенности и сомнениям со всей вновь обретенной свободой. Существуют некоторые базовые структуры, которым необходимо следовать, несмотря на гибкость, предоставляемую языком: операторы
using
и import
обычно делаются в самом верху файла. - Вот и все! (Не стесняйтесь редактировать, если вы думаете, что есть больше).
Также стоит проверить Руководство по стилю Julia для таких вещей, как:
Написание функций, а не только скриптов: Написание кода в виде последовательности шагов на верхнем уровне - это быстрый способ начать решать проблему, но вы должны попытаться разделить программу на функции как можно скорее. Функции более пригодны для повторного использования и тестирования, а также разъясняют, какие шаги выполняются и каковы их входы и выходы. Более того, код внутри функций имеет тенденцию работать намного быстрее, чем код верхнего уровня, из-за того, как работает компилятор Джулии.
В общем, Джулия гибкая. Есть очень мало вещей, которые вы должны включить в свою программу.
Важно обозначить разницу между написанием простого сценария Julia и созданием проекта в Julia .
Хотя существуют ограниченные структурные предложения для создания простого сценария, есть ряд предложений, связанных с тем, как можно структурировать проект Julia. Фактически, многие из этих аспектов встроены в саму Юлию! Вы можете узнать больше о создании проектов Julia (которые должны иметь аналогичную, если не ту же структуру, что и пакеты Julia) здесь .
Примечание. Если вы пытаетесь найти структуру Package в Julia, отличный ресурс будет PackageTemplate.jl .