Perlテックブログ

ITエンジニアの成長意欲を刺激する技術考察、モジュール開発の日記。Perlイベントや国内や海外のPerlの記事の紹介。

ソースコードでどう関数を並べたらわかりやすい?

ソースコードで関数を書いているときに、「どんな順番で関数を並べたらいいんだろうか」と思ったことはありませんか?

「abc順?」「適当でいい?」「プログラムがわかりやすくなる方法はある?」

僕がPerlC言語ソースコードを書いているときに、こんな風に並べて置いたら、見通しがよくって、書き換えるのもやりやすくなるという方法を紹介するよ。参考にしてね。

呼び出しが深いほうを下の方に書く

僕は最近は、関数の呼び出しがより深い方を、下の方に書くようにしています。たとえば、構文木解析を書いているとき、姉妹ノードを取得するとか、新しいノードを作成するとか、さまざまな場所で、呼び出される、基本的な関数があったりします。

一方でそれを利用して、パッケージやフィールド情報のノードを構築するような関数があります。こちらは、より具体的で、呼び出しが浅いものです。

こんな風にまとめてみました。

姉妹ノード取得 パッケージノード構築
用途 基本的 応用的
呼び出し 深い 浅い
ソースコード位置

基本的で、呼び出しが深くなるものは、ソースコードの下の方に配置、応用的で、呼び出しが浅くなるものは、ソースコードの上の方に配置。

しばらくプログラムを書いていると、基本的な関数は、修正回数がどんどん減っていきます。応用的な関数の修正頻度は、まだまだ高いままです。

修正が少なくなったものは、スクロールがめんどうな下の方へ、修正回数が多いものは、修正しやすい上のほうへ配置する。

僕は、厳密にこういうことをやっているわけではないのですが、ときどき関数位置に迷ったら、こんな感じで、位置を決めています。