ソースコードの可読性向上

プログラマとして重要なことは、怠惰・短気・傲慢である事があげられます。

怠惰(Laziness)
全体として使うエネルギーを節約するために骨を折るような気性。 怠惰な人は、労力を省くためにプログラムを書いて、他の人の助けにもなる。 また、同じ質問に何度も答えなくていいようにとドキュメントを整備する。 だからこそ、これが三大美徳の1番目であり、だからこそこの本がある。
短気(Impatience)
コンピューターがのろのろしているときに感じる怒り。 短気な人は、必要に応じて動くだけではなく、 先を見越して処理を行うプログラムを書く。 もしくは少なくとも先を見越しているふりはする。 だからこそ、これが三大美徳の2番目である。
傲慢(Hubris)
神の雷に焼かれるようなたぐいの過剰な自尊心。 人に悪く言われないようなプログラムを書き 人に悪く言われないようにその整備をするような気性とも言える。 だからこそ、これが三大美徳の3番目である。

もともとのソースコードは可読性に欠けるというので、比較的短いソースコード(300行前後)なので、本格的な解析ツールを使うまでもなさそうだと判断し、文字列を置換する作戦で行くことにします。というわけで、Unixコマンドのツールのひとつであるsedを使って文字列を置換します。

文字列を置換する

hello.f内の文字列abcxyzに置換します。

$ sed -e 's/abc/xyz/g' -hello.f

標準出力で出るので、出力先を同じファイルにするにはオプション-iをつけます。

$ sed -e 's/abc/xyz/g' -hello.f -i

コメント行を除去する

ソースコードhello.fのコメント行を取り除きます。

Fortranソースコードのコメントの方法は行の先頭にcと書くだけです。もともとのソースコードには改変するたびに改変が記録されています。ソースコードには改変前がコメント行として残されているので、可読性が一気に落ちるわけです。それでコメント今現在有効なソースコードだけ取り除くことにします。

$ sed -e '/^c.*/d' hello.f -i

説明を加える

ソースコードには関数呼び出しcall sic58()などと書かれています。連番で管理するのは、計算機にとって楽かもしれませんが、人間にとっては非常な苦痛でしかありません。sic58()という文字列が来たら、コイルIndex取得という説明文を付け加えてみます。

$ sed -e '/sic58/a;; コイルIndex取得' hello.f -i

するとソースコードには

        call sic58()
;; コイルIndex取得

と出るようになります。