自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

October 15, 2003

[Ruby-GNOME2] iUK Software

Ruby-GNOME2メンテナの一人であり、ROX-RubyのメンテナでもあるGeoffのサイト。0Install, DeskRun, IconView, Locate, Mount, PHPExec, ScreenInfo, QuickNotes, TakeABreak, ROX-Term(libvteのRuby Wrapper付), Reach, TVGuide, XmC, PackageEd等、Ruby/GTK2(とROX-Ruby)を使って実装されたツールがいっぱい。すごい。

にしても、彼は絵もうまいなぁ。彼がデザインしたアイコン、とてもオシャレだ。

[Ruby-GNOME2] #ruby-gnome2 on gimp.net

Ruby-GNOME2向けのircがはじまった(てかはじまってしまった...)。

オレはircとかIMとか言うのを入れてしまうと話に参加せずにはいられなくなって他のことができなくなる可能性が高いので、今までは極力避けてきたんだけど、さすがにここだけは参加せずにはいられないだろーな....。

でも、本格デビューでいきなり英語かよ(T_T)。

まぁ、ともかく、そんなわけで興味のある人は是非参加してみてください。英語の勉強になるかと(-o-;)。

そうそう、ひとまず、Websiteのフォントが小さいと言われたので大きくしてみた。なんかこれはこれでカッコ悪いなぁ。

[Ruby] Ruby-GPGME

一瞬、Ruby-GNOMEのtypoかと思ってしまった(^^;)。

ホントは「GnuPG の機能を利用するのに便利なライブラリ GnuPG Made Easy (GPGME) への Ruby インターフェースです。」だそうです。


October 15, 2005

[Ruby] rcairo-1.0.0 by すとうさん

rcairoがリリースされました。rcairoはcairoのRubyバインディングです。

cairoは描画系のライブラリとしては現在もっとも注目されているものの一つです。強力で簡潔なAPIを持っています。そのRuby版ですから、さらに簡単に描画系のアプリケーションを作ることができることと思います。

こっち系に興味がある方は是非試してみてください。

すでにGTK+-2.8(GDK) やPango-1.10はcairoを使っているため、次にリリースされるディストリビューションには必ず含まれるようになるでしょう。そういった意味でも有望なライブラリですね。

また、Win32でも動作します。これまたうれしいところです。

ちなみに、次のRuby-GNOME2ではcairo & rcairoをサポートします。お楽しみに。

#もちろんrcairoが無くても動作するようにしていますのでその点もご安心を。


October 15, 2006

[Ruby] メソッド(関数)化の基準

今日、メソッド(関数)の細分化について

「コメントを残したくないから、機能の一部をメソッド化してメソッド名で機能の内容を表現する」

という意見を聞いた。面白い考え方だと思ったけど、他からは全く使われないだろうメソッドだし、その内容自体が数ステップのもの、名前が長すぎた、等の理由で、メソッド化するのをやめてその呼び出し元に入れこんでコメントを残すように直した。

でも、そもそも、メソッド化する基準ってのはなんなんだろう?

ということで自分なりに考えてみた。

  1. 再利用するかどうか
    再利用するかどうか、というとちょっと大げさかもしれないから、他から複数回呼び出されるかどうかって言い直しても良いかもしれない。基本はこれだよね。APIとして外部に提供する場合はもちろんのこと一つのクラスの内部であっても再利用する場合は別出しにすることが多いな。再利用する可能性があれば1ステップで収まるような内容であってもメソッド化する時があるし。
  2. オーバーライドされるかどうか
    まぁ、上のとほとんど同じなんだけど、サブクラス化したときはこの部分をオーバーライドするだろうなぁ、と思ったところはメソッド化しておくかな。
  3. 再帰呼び出しなどの実装上の都合
    まぁ、再帰の場合は広義に見れば再利用してると言えるのかも。
  4. 長すぎるメソッドの分割
    長すぎてよくわからなくなりそうなとき、その機能をいくつかのサブ機能毎にわけることはあるなぁ。でも、実は純粋に分割するだけ、ということは少なくて、大抵は他のやり方に従っていると回避できるし、本当にそれがヒトカタマリならば多少大きくなっても1メソッドにしてしまうなぁ。必要悪的な使い方かな。

皆さんはどのような基準でメソッドを構成しているんでしょう。

[Ruby] コメントを書く基準

もう一つ。最近、コメントはなるべく書かないようにする傾向がある。それは「ソースを読めばわかるようなきれいなソースを書けばよい」ということなんだと思ってるんだけど、一方で「ファイルをオープンする」みたいなコメントが大量生産されていた頃(今も?)のアンチテーゼという側面もあるんじゃないかと思う。

でも「何でその実装をしたのか(Why)」というのが(他の人が見て)一目でわからないと想定される場合は積極的にコメントを残すべきだと思うなぁ。そうしないと後から自分で見てもわかんなくなっちゃうよ。

なーんて、えらそうなことを書いたけど、今日のこの2つの基準は自分の中でも達成できていないケースがあるなぁ。しょせん人間なんてそんなもんですな。