fml8 チュートリアル (バージョン 7.99.1-20180910)
Prev | Chapter 31. プログラミング・スタイル | Next

# プログラミング・スタイル (原案のメモ(注: 単なる走り書き))

Warning
ログとして、原案のメモ(注: 単なる走り書き)をここに記録しておきます。 読みづらいですが、失礼。

- Perl ではポリモーフィズムと実行時バインディングができることに 重視すること。多重継承などに頭を使うより ポリモーフィズムと実行時バインディングによる コンポーネント指向ぽい方向性を模索する。

- Perl 5 のパッケージを使った、オブジェクトぽい書き方は 変数自身が自分のパッケージを知っているので、 単にパッケージ修飾(例: :: )を使わなくてもよいくらいに 思う方がよい。

- そのために、 再利用性と抽象度を高くしたインターフェイスは オブジェクトぽい書きかたが良さそう。

- Perl 5 だと必然的にオブジェクトぽくなってしまうが、 オブジェクト、オブジェクト、オブジェクトし過ぎないように バランス感覚に注意しよう。

- 他人のモジュールを使う場合はともかく、 自分達で書くモジュールでの ”深い”継承はできるだけ避けたい。 何でも深くすればよいというものではないでしょう。

libexec/ や libkern.pl にある関数は、 main:: に記述される部分は基本的なフローを記述している。 これらは基本的な枠組を示すものであるため、 $curproc (C でいえば struct *curproc にあたるもの) を受け渡す、構造化プログラミング的な書き方をしている。

しかし、そのひとつ下の層、そしてさらにその下では、 再利用性とポリモーフィズムに傾いた方がよさそうにおもえる。

Prev | Home | Next
デザイン/コーディングスタイルの上でいろいろ | Up | 内部構造

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.