« パスワード再発行機能を仮実装しました | トップに戻る | 開発メモ:ノートにブログ記事URLを指定できるといいな » |
2008年1月23日
わかりやすいURLをつける「もう1つ」の大切な動機
ちょっと気になった記事に関するメモ。反論とかではなくて。
■良いURLについて考える
http://builder.japan.zdnet.com/news/story/0,3800079086,20365438,00.htm
わかりやすいURL構造を設計すること はとても大切です。
私も自分でドメインを取って、mod_rewriteによるマッピングを
駆使したURL設計を自分でやってみてから、その威力に唖然としました。
この記事の冒頭で、良いURLにはどんな利点があるか、
という前提というか目標が掲げられているのですが、
・簡単に伝えることができて覚えやすい
・ペーストが可能な程度に短い
・推測が容易である
・表示可能である
・入力しやすい
こんな感じです。ただ、説明書きがいずれも 「利用者から見た利点」
だけになっていたので、もう1つ加え書きしておきたい気分になりました。
( ゚∀゚)<きれいなURLマッピングをしておくと、「開発」 が楽になるよ!
楽になるよ!(だいじなことなので2度言いました)
たとえばコミックダッシュ!の場合ですが、
(A) マッピング元のURL
http://ckworks.jp/comicdash/owner/user/ckom
http://ckworks.jp/comicdash/note/user/ckom
このURLは mod_rewrite によるマッピングを使っているURLであり、
実際のURLはこんな形をしています。
(B) マッピング先のURL
http://ckworks.jp/cgi-bin/comicdash/show.xcgi?owner=user&user=ckom
http://ckworks.jp/cgi-bin/comicdash/show.xcgi?note=user&user=ckom
CGI名とか、「&」で繋いだパラメータ とか、正直ウザイですよねー。
で、もしマッピングが無かったら、ウザイURLに困るのは 利用者だけですか?
いやいや、もしかしてそのリンク名を一番使うことになるのは、
そのサービス内で無尽蔵に張り巡らされる 「内部リンク」 じゃないですか??
たとえばユーザリストのページとか、商品リストのページとか、
サービスの中から同じサービスの中への内部リンクというのは腐るほど
生成されます。それを生成しているのは、サービスのプログラムです。
つまり開発するサービスのコードの中には、こうしたURLが大量に
含まれることになるのですが、そこで上記(A)と(B)を見比べてみてください。
・どちらのほうが可読性が良さそうでしょうか。
・どちらのほうが間違いをすぐ見分けられそうでしょうか。
もちろん(A)です。
http://ckworks.jp/comicdash/owner/user/ckom
↓
「owner」の「user」の「ckom」を表示する
という具合に、URLを 「意味」 のあるクエリ文字だけの構成にして
URLを 「読める」 ようにしています。読んで直感的に意味がわかるというのは
間違いを減らす上でとても重要なことです。似たような話として
「変数名や関数名 に短い単語を使うな、
面倒でも 『名は体を現す』 ようにしておけ」
という鉄則がありますが、サービスのURLもこれと同じで、
長い短いよりも「読める」「意味が直感的にわかる」ということが重要です。
一番助かるのは、そのURLが入り混じったコードを作る開発者なのです。
・・・ということを実感した1年でした。
URLがすっきり判りやすい意味づけのあるものであればあるほど、
開発者も変に迷うことなく、サービス内リンクをすっきり張ることができます。
投稿者 CK : 2008年1月23日 21:45 | プログラム
« パスワード再発行機能を仮実装しました | トップに戻る | 開発メモ:ノートにブログ記事URLを指定できるといいな » |
▼ コメント ▼
ご自由にコメントください(=゜ω゜)ノ
※管理人は多忙のためお返事はほとんどできません(スミマセン)。スパムおよび本文と無関係なコメントは削除対象になる可能性があります。
▼ トラックバック ▼
このエントリーのトラックバックURL: