Styleguide: Difference between revisions
(Doppelpunkte bei variablendeklaration) |
(variante B (mein Favorit)) |
||
| Line 11: | Line 11: | ||
Vorschlag A | * Vorschlag A | ||
<fortran> | <fortran> | ||
| Line 40: | Line 40: | ||
END FUNCTION FOO | END FUNCTION FOO | ||
cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
</fortran> | |||
* Vorschlag B | |||
<fortran> | |||
C---------------------------------------------------------------------- | |||
C MOD_Beispiel: Ein Modul ! | |||
c Anmerkung: blabla | |||
C---------------------------------------------------------------------- | |||
module MOD_Beispiel | |||
use MODULE_BLABLAblabla | |||
implicit none | |||
integer MemberInt | |||
contains | |||
C---------------------------------------------------------------------- | |||
C funktion FOO : Eine unsinnige zu Demonstrationszwecken erstellte virtuelle Fkt | |||
c Anmerkung: gibt false zurück wenn Fehler ! | |||
C---------------------------------------------------------------------- | |||
logical function FOO (BAR) | |||
use MODULE_BLABLA | |||
integer i | |||
logical LOK | |||
character(*) str | |||
FOO = .FALSE. | |||
!Kommentar hubidubi | |||
do i = 1, 10 | |||
CALL FOOBAR() | |||
!Wenn fehler dann raus ! | |||
IF (.NOT. LOK) | |||
ERROR = FEHLER(50, ' ', ' ', 0) | |||
return | |||
end if | |||
end do | |||
FOO = .TRUE. | |||
return | |||
end function FOO | |||
end module MOD_Beispiel | |||
</fortran> | </fortran> | ||
Revision as of 04:58, 13 September 2007
Allgemein
- Die Tab-Größe sollte auf 3 Leerzeichen gesetzt sein (siehe Screenshot).
- Schlüsselwörter (z.B.
IF,FUNCTION,INTEGERetc.) sollten in Großbuchstaben geschrieben werden. - Die Schlüsselwörter
END IF,END DOetc. sollten wie hier angegeben mit einem Leerzeichen geschrieben werden.
Formatierung
Funktionen sollten folgendermaßen formatiert werden:
- Vorschlag A
<fortran>
CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX c Funktionsbeschreibung
FUNCTION FOO (BAR) RESULT (LOK)
c .................................................................
USE MODULE
INTEGER i
LOGICAL LOK
character(*) str
c .................................................................
LOK = .FALSE.
c Kommentar
DO i = 1, 10
CALL FOOBAR()
IF (.NOT. LOK) GOTO 9999
END DO
LOK = .TRUE.
GOTO 10000
c ................................................................. c Fehlerbehandlung 9999 IF (.NOT. LOK) ERROR = FEHLER(50, ' ', ' ', 0)
GOTO 10000
c ................................................................. 10000 RETURN
END FUNCTION FOO
cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
</fortran>
- Vorschlag B
<fortran>
C---------------------------------------------------------------------- C MOD_Beispiel: Ein Modul ! c Anmerkung: blabla C----------------------------------------------------------------------
module MOD_Beispiel
use MODULE_BLABLAblabla
implicit none
integer MemberInt
contains
C---------------------------------------------------------------------- C funktion FOO : Eine unsinnige zu Demonstrationszwecken erstellte virtuelle Fkt c Anmerkung: gibt false zurück wenn Fehler ! C----------------------------------------------------------------------
logical function FOO (BAR)
use MODULE_BLABLA
integer i
logical LOK
character(*) str
FOO = .FALSE.
!Kommentar hubidubi
do i = 1, 10
CALL FOOBAR()
!Wenn fehler dann raus !
IF (.NOT. LOK)
ERROR = FEHLER(50, ' ', ' ', 0)
return
end if
end do
FOO = .TRUE.
return
end function FOO
end module MOD_Beispiel
</fortran>
Operatoren in Fortran
in Fortran gibt es zwei Syntaxen für Operatoren <fortran> Operator Relationship .LT. or < Less than .LE. or <= Less than or equal to .EQ. or == Equal to .NE. or /= Not equal to .GT. or > Greater than .GE. or >= Greater than or equal to </fortran>
Für Weiterentwicklungen sollten die gebräuchlichen Symbole benutzt werden: <fortran> < Less than <= Less than or equal to == Equal to /= Not equal to > Greater than >= Greater than or equal to </fortran>