Руководство по стилю оформления кода Fortran#
Соглашение об именовании#
В конечном счёте, это вопрос предпочтений. Это руководство по стилю, которое нам нравится и которое, похоже, преобладает в большинстве научных кодов (а также в Fortran standard library), и вы можете следовать ему.
Используйте строчные буквы для всех конструкций языка Fortran (
do
,subroutine
,module
, …).Для математических переменных/функций используйте краткие математические обозначения (
Ylm
,Gamma
,gamma
,Enl
,Rnl
, …).Для других имён используйте все строчные буквы: старайтесь, чтобы имена состояли из одного или двух слогов; если требуется больше, используйте подчёркивание для уточнения (
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 другая задача (численные научные вычисления).