From: Kouhei S. <ko...@co...> - 2004-10-17 07:00:59
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Maintainer wanted" on Sat, 16 Oct 2004 22:10:38 +0900, Masao Mutoh <mu...@hi...> wrote: > * REAMDE > 他のライブラリを参考に、フォーマットをあわせてください。 > Copyingと、Project Websiteの欄を追記していただければと思います。 そうしました. > * COPYING.LIBをおいてください。 置きました. > * 各ファイルのヘッダ部分にライセンス情報を追加してください。 追加しました. > * Gnome::PrintConfig.from_stringはGnome::PrintConfig.newだけで良いのでは? 削除しました. > * Gnome::PrintConfig.newの実装はちょっとまずいような気が...。 実装がまずいというのは,無駄にrb_scan_argsしているということ ですか?これは,私のミスなので削除しました. > 普通に#initializeを使った方が良いような気がします。 A, Bというクラスがあったとして, B.new # -> instance of A ということがしたいので,#initializeだと無理だと思います. class A; end class B def self.new A.new end end class C def initialize A.new end end p B.new # -> A p C.new # -> C > →というか、これ、#default, #from_stringは無くして#initializeだけに > してしまって良いような気がするのですが...。 #from_stringをなくするというのは賛成ですが, PrintConfig.defaultはなくさない方がよいと思います. PrintConfig.new()で毎回同じ(デフォルトの)GnomePrintConfig が返ってくるのは自明でない気がします.PrintConfig.new()でデ フォルトのGnomePrintConfigが返ってくるのは便利でよいと思いま すが,コードを読む時はPrintConfig.new()より PrintConfig.defaultと書いてあった方が意図が伝わりわりやすい と思います. > * Gnome::PrintPaper#get_by_name, #get_by_sizeですが、 > このように、_by_fooと言う感じで引数が違うだけの時は一つにまとめてしまう > ことが多いです。この場合は、Gnome::PrintPaper#getでしょうね。 > ただ、これはお好みで。 Gnome::PrintPaper#getのみにしました. 一応,Gnome::PrintPaper#get()でGnome::PrintPaper#defaultと同 じことになるのですが,Gnome::PrintPaper#defaultの方がデフォ ルトの用紙という感じがでるので,Gnome::PrintPaper#defaultも 残してあります. > * Gnome::PrintPaperの実装ですが、わざわざGnome::PrintPaper::Paperを > 用意した意図がちょっとわからないのですが...。 rubyのレベルでいうと A = Struct.new(:a, :b, :c) と A = Struct.new("A", :a, :b, :c) の違いで,今回は後者を使っていたので,A::Aがあるという話です よね? で,しかも今回は A = Struct.new("B", :a, :b, :c) のように定数名と構造体名が違うので(これは私のミスです)A::B が見えるのはいかがなものかということですね. 通常はGnome::PrintPaperを使えば良いので, Gnome::PrintPaper::Paper::Paper::...となっていても問題ない気 がします. なんですが, > 単純にGnome::PrintPaperをクラスにする方が良いような気がします。 > 通常、このような場合、個別の仕組みを作らず、GBoxedなオブジェクトに > すると楽で良いと思います。 ということなので,そうしました. > * Gnome::PrintPrinterですが、これ、GPANodeを実装した後で > そのサブクラスとして定義した方が良いような気がしますがどうでしょうか。 そうですね. おいおいやっていきます. ちなみに,次のリリース予定はありますか? それまでには仕上げます. > * G_DEF_SETTERSはset_fooが無いクラスでは呼ぶ必要ないです。 rbgp-gnome-print{,-config,-unit,job}.cから削除しました. |