Руководство по стилю оформления кода Fortran#

Соглашение об именовании#

В конечном счёте, это вопрос предпочтений. Это руководство по стилю, которое нам нравится и которое, похоже, преобладает в большинстве научных кодов (а также в Fortran standard library), и вы можете следовать ему.

  1. Используйте строчные буквы для всех конструкций языка Fortran (do, subroutine, module, …).

  2. Для математических переменных/функций используйте краткие математические обозначения (Ylm, Gamma, gamma, Enl, Rnl, …).

  3. Для других имён используйте все строчные буквы: старайтесь, чтобы имена состояли из одного или двух слогов; если требуется больше, используйте подчёркивание для уточнения (sortpair, whitechar, meshexp, numstrings, linspace, meshgrid, argsort, spline, spline_interp, spline_interpolate, stoperr, stop_error, meshexp_der).

Например, «spline interpolation» может быть сокращено до spline_interpolation, spline_interpolate, spline_interp, spline, но не splineint («int» может означать интегрирование, целое число и т.д. — слишком много двусмысленности, даже в ясном контексте вычислительного кода). Обратный пример: для get_argument() сокращение getarg() будет совершенно ясным и понятным.

Выше приведены общие рекомендации. В целом, выбор правильного имени, безусловно, зависит от усекаемого слова и достаточно ли оставить первый слог. Обычно это так, но, очевидно, не всегда. Поэтому подумайте над тем, чтобы «стараться использовать названия, состоящие из 2 слогов или меньше», так как это может повлиять на наглядность и простоту. Простые и последовательные правила именования являются реальной помощью в этом отношении – как для совместной работы, так и для собственного здравомыслия при возвращении к старому коду, который вы давно не видели.

Отступы#

Используйте последовательные отступы чтобы сделать ваш код читабельным. Размер отступа – это вопрос предпочтений, наиболее распространёнными вариантами являются отступы в два, три или четыре пробела.

Сравнение с другими языками программирования#

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