Yasumichi Akahoshi
w2lin****@lapis*****
2005年 5月 21日 (土) 00:54:04 JST
赤星です。 > せめて、#define やら typedef struct やらの定義系は .h に > 追い出したいです。 これは、GObjectの流儀でオブジェクト内でプライベートな参照をさせたい物 を意図的に.cに入れているものではないかと思います。 # そうでないのもあるかもしれないし、私自身のGObjectに対する理解が間違っ # ている部分もあるかもしれません。 『この辺の定義系はヘッダファイルにまとめるべきだ』という事であれば、 cxplorer-window.*を例に取るとcxplorer-window.hに移すのではなく、 cxplorer-window-private.hを新たに作成し、そちらに放りこむという形が良い かもしれません。 参照:どのように新しい GObject を定義し、実装すればよいのか? http://www.gnome.gr.jp/docs/gobject-2.4.x-tut/html/ch05.html#howto-gobject いかがでしょうか? > あと、個人的には、関数名が全て小文字と言うのも気になったり・・・。 > gtkやgdk、glibの関数と区別しづらいので。 実は、どの程度の頻度で大文字を入れるのが良いか悩んだりします。経験不足 というか…。何か規則性を持たせた方が良いでしょうか? >>>・異常系のルートの実装をきちんとしないとな〜。 >> >> これは、エラー処理の話ですよね? > > はい。 > gtk_〜_new() とかは、まず失敗することはありえませんが、 > プログラムのお作法ということで。 関数の終了ステータスを返すものは必ずチェックするという方向で良いでしょ うか? > 実は、仕事でもこの手の障害報告がいちばん頭にきたりします。 > 大抵は、表示更新の仕方の問題であることが多いですけど。 > ひどいプログラムだと、アプリケーションから ioctl()叩いて > 制御していたりします。 ラッパーを作成するならともかくアプリケーションが直接デバイスを制御する のは避けたいですよね。 -- Yasumichi Akahoshi http://win2linux.sourceforge.jp/ http://vinedocs.sourceforge.jp/ http://cxplorer.sourceforge.jp/