[OSASK 4170] Re: ソースコード.

  こんばんは、川合です。


KOYANAGI Masaaki さんは 2002/07/31 17:50:49 の「[OSASK 4166] ソ
ースコード(Re: make27d).」で書きました:

>私は
>
>.h : 対象モジュールが何を行うかの概略がつかめるように
>.c : 対象モジュールの実際の動作を理解するために、本質的ではない
>部分はできる限り分離したい
>
>というスタンスで行きたいです。

  なるほど。これは、読むための書き方、という感じですね。了解しま
した。

  僕の書き方は機能ごとの独立性を重視した書き方(のつもり)なんで
す。たとえば、他と共有することもなく、汎用性もないような機能を関
数に分けたりすることを嫌います。

  もしある関数の仕様(引数など)を変更した場合、変更箇所があちこ
ち散らばっているのが、嫌いなんです。今のpokonはそうなっています
が。

  読みやすさについては、僕はソースそのものに読みやすさを求めませ
ん。ドキュメントを添えることで読みやすさの向上を図ります。この辺
の議論については、

    http://imasy.org/~kawai/osask/commen07.htm

の99さんへのレス以降に書いたので参考にしてください。ようするに.h
に分けるんじゃなくて、その概略を日本語で書けばいい、ということで
す。

  ライブラリ等の場合は、ヘッダファイルは重要です。何といっても関
数宣言や固有の定数が、ライブラリの仕様みたいなものですから。下手
なドキュメントよりもヘッダファイルが分かれている方がいいと僕も思
います(それをインクルードして使うわけですし)。しかしアプリケー
ションのようなものでは、分ける意味がありません。内部で使う関数の
リストが書いてあっても、別にどうだっていいです。それよりも内部関
数○○は××の処理をする、みたいなドキュメントがあった方が助かる
んじゃないでしょうか?

  しかし僕は自分の考え方がマイナーであることは自覚しているので、
小柳さんに押し付けるつもりはありません。僕が折れます。

>自分が書いたものではないソースを理解しようとする場合に、
>全体の行数/関数の長さが今のように長いととても疲れます。

  これはよくわかります。僕も他人が読みやすいソースだとは思ってい
ません。しかし、簡単なドキュメントがあれば、読みにくいということ
もないでしょう。長いだけです。・・・長くても短くても、とにかく自
分のいじりたい部分(読みたい部分)がすぐに発見できるかどうかがす
べてなのであって、長いから駄目、というのは手段と目的の混同だと僕
は思っています。

  もちろん現在はドキュメントがない以上、長いから読みにくいは正論
です。でも、だから短くした方がいいではなくて、だからドキュメント
を書こうなのです。

>ところで川合さんはどんなエディタでソースを書いているのでしょうか?
>私は emacs で複数のファイルをバッファ切り替えしながら変更しているので、
>ソースファイルが多少増えてもそんなに問題ないのですが。

  そんなわけで、僕の問題はエディタの問題ではないんです。変更箇所
が分散してしまうことだけが問題です。

  ちなみに、init.askは逆に駄目な典型例です。分割可能な独立性の高
いモジュールになっているのにそれらが一つのソースに書き連ねられて
います。あれは本来なら5個くらいに分けるべきです。・・・前から分
けようとは思っているんですが・・・。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/


ML番号でジャンプ
ML単語検索