プログラミング・スタイル (原案のメモ(注: 単なる走り書き))
基本的なスタイル
-
Perl ではポリモーフィズムと実行時バインディングができることに
は重視すること。多重継承などに頭を使うより
ポリモーフィズムと実行時バインディングによる
コンポーネント指向ぽい方向性を模索する。
-
Perl 5 のパッケージを使った、オブジェクトぽい書き方は
変数自身が自分のパッケージを知っているので、
単にパッケージ修飾(例: :: )を使わなくてもよいくらいに
思う方がよい。
-
そのために、
再利用性と抽象度を高くしたインターフェイスは
オブジェクトぽい書きかたが良さそう。
-
perl 5 だと必然的にオブジェクトぽくなってしまうが、
オブジェクト、オブジェクト、オブジェクトし過ぎないように
バランス感覚に注意しよう。
-
他人のモジュールを使う場合はともかく、
自分達で書くモジュールでの
”深い”継承はできるだけ避けたい。
何でも深くすればよいというものではないでしょう。
メイン → モジュールの基本的な形の例:
libexec/ や libkern.pl にある関数は、
main:: に記述される部分は基本的なフローを記述している。
これらは基本的な枠組を示すものであるため、
$CurProc (C でいえば struct *curproc にあたるもの)
を受け渡す、構造化プログラミング的な書き方をしている。
モジュール → モジュール
しかし、そのひとつ下の層、そしてさらにその下では、
再利用性とポリモーフィズムに傾いた方がよさそうにおもえる。