\newpage
\section*{
\vskip 1em
ABINIT: 5. CODING AND DOCUMENTATION}

\vskip 1em
\parbox{0.92\linewidth}{
\Large{
Is it easy to become familiar with the ABINIT source
files, understand what each routine is doing, and
begin additional development ?

\vskip 1em
The ABINIT source files are especially clear :
\vskip 0.5em

The (F90) routines follow {\red explicitely stated}
coding rules ({\green ABINIT style}),
with a {\red special format}
that allows processing by
{\green ROBODOC}
(http://www.xs4all.nl/\~{}rfsber/Robo/robodoc.html).
\vskip 0.5em
\begin{itemize}
 \item[\red \ding{229}]
  Uniformity of style
 \item[\red \ding{229}]
  For each routine, documentation is locally available
 \item[\red \ding{229}]
  Many comments are forced by the ABINIT style \\
  (e.g. every argument of a routine is described in a comment)
 \item[\red \ding{229}]
  Input or output intent is specified
 \item[\red \ding{229}]
  Automatic generation of ``parent'' and ``children'' subroutine lists, \\
  and automatic enforcement of coding rules
 \item[\red \ding{229}]
  On-line sources (HTML format, thanks to ROBODOC)
 \item[\red \ding{229}]
  Automatic creation of subroutine interfaces, allowing for deep analysis by the F90 compiler. \\
\end{itemize}
\vskip 1em
Additional documentation files describe the global structure
of the code, the testing environment, the installation procedure ...
}
\vskip 1em
\Large{\blue To a large extent, implementation of the
``self-documentation'' software engineering concept}
}
