CSS記述規則「プロパティ別整理法」 その一

CSSの記述の仕方として プロパティ別整理法 なるものを見つけた。なるほど。なかなか面白い提案だと思う。ただ、実用的かどうかはそれぞれの判断(個別の感覚や技術レベル、マークアップ)に任されるのではないかと思う。最初が肝心、でももう遅い のような状態の場合には有効なのかなと思うが真偽の程は不明だ。(たまたま最近読んだ記憶があっただけの紹介ですいません)

何かを推し進めたり提案したりする場合は、先ずは否定的な要素(もしくは欠点)を示し、それについての対処や、その問題点が取るに足らない物であるとのだと説明して行き、それを潰した上で、どのような利点があるのかを説明すると、より効果的だ。その際には既存他法と比較をして、その優位性や特異性を示したりするのが得策である。その時に気をつけなければならないのは既存他者をなるべく否定しないことだ。基本的にしていい否定は客観的な判断から浮き彫りにされる欠点だけだろうと思う。というのが持論です。ってちょっと話が逸れました。要するに プロパティ別整理法 は良く書けているのではないかと言いたかっただけです。特に共感できる部分としては、反応リンク集 において色々な意見を掲載している所です。ただ、何かの宣伝広告のように好意的なものばかり載せると逆効果になってしまうところが難しいかもしれません。

そんなこんなで実際に試してみようと思ったのですが、私にとっては図書館方式のデメリットよりもプロパティ別整理法のデメリットの方が大きい。とりあえず図書館方式のデメリットについて書いてみる。

「君の名は問題」が発生する。
私は必要以上にグループ分けをしないのでこの問題は殆ど起こらない。
スタイルを記述する際に、どのグループに含めるか考える必要がある。その判断は、製作者に委ねられる。
上に然り。body直下か、せいぜい二つのグループ分け程度に収まっている。
「こうもり問題」が発生する。
同様。後から新たなグループを形成する事は殆どない。そうなる場合は全てを見直す時。
「複数属性問題」が発生する。
う~ん。グループ分けを主としないスタイルの記述をしている人には上記も合わせて問題とは思えないのかも。
そもそも、どんなグループ or グループ名が存在するのか忘れてしまう。
一つや二つだと忘れません。
問題が顕著化したとき、スタイル変更時に変更対象の探索が困難になる。
いや、感覚的に把握しているのでむしろわかり易いような。しかも上部から順に記述する訳ですし。
変更対象が巨大なCSSの場合、変更個所の探索は困難を極める。
無駄な記述、詳細なグループ分けをしている場合は確かにそうかもしれませんね。
継承するスタイルの場合、HTMLに入れ子構造を採用しているとどのレベルで定義されているのか把握し辛くなる。
これはあります。こっちのスタイルを変更したはずなのに向こうのレベルのスタイルが継承されていてなんて事も。
CSSが巨大になるとグループ分けが機能しなくなり、グループの中での並び順が重要になってしまう。
上(外)から順番に書いて行くので…。

え~っと。そういう訳で私には図書館方式で充分な様です。どちらかと言えばプロパティ別整理法のデメリットである あるセレクタに対して、どのようなスタイルが指定されているか一望出来ない。(ただし、Grep検索によって解決することができる) の方が私にとっては辛いです。Grep検索で出来るといいますが、こちらの方が編集に時間や手間が掛かるような気がします(秀丸エディタを使用していない人はどうするんだろう)。それから 感覚的とはいえない。 これも痛い部分です。

私がスタイルを変更する時にはあるブロックに対してどのようなスタイルが設定されているか、またそのブロック内の要素にはどのようなスタイルが設定されているかという順で把握している。つまりはセレクタ毎に考えている訳で、ここの背景はこれで、ここのボーダーはこれで、そこのマージンはこれでなどとプロパティ毎に考えていない(いや、だから今回の話題はそうしませんか?という提案なんですけどね)。これはその方が圧倒的に便利で把握し易く、編集にも時間がかからないからだ。つまりは私にとってはプロパティ別整理法の方が無駄な時間がかかるのだ。これは慣れとかそのような問題ではなく、感覚的な問題であって、それを覆すのは無理であろうと思う。いや、そもそも覆す必要も無ければ、その時間や労力が無駄だ。

以上の事からおそらく私は 例外ケース に当てはまるのであろうと思いますが、そもそもCSSが膨大になるような書き方っていかがなものでしょうか。そういう書き方をしてしまう人の為のメンテナンス性の向上のツール(提案)としては最初に述べた通り、面白いと思います。ただし、自分で書いたものを把握できない状態で、並び替えられた物を把握できるかどうかは疑問ですが。

本当は以上で終わろうと思ったのですが、誤解が無いように繰り返し書いて置こうと思います。以上の事はあくまでも私が例外ケースに当てはまるだけの事であって、世間に広まったら面白いのではないかと思います。そしてその際には Grep検索 が利くようなツール、つまり編集時に瞬時に自動(相互)変換してくれるようなエディタがあれば尚良いのではないかと思います。

ただそれでもやはりこの『プロパティ別整理法』を 導入しなくてもいいように、より例外ケースに近づけて行くべきではないかと思う訳で、そういった意味では最終的には“提案”で留まってしまうというのが悲しい性なのではないかと思う次第です。

それからこれは直接は関係ありませんが、プロパティ別整理法に近い例 として紹介されている ユーザースタイルシートのススメ ですが、これはあくまでも“ユーザースタイルシート”の記述方として紹介されているのであって、サイト構築におけるスタイルの記述方とは根本的に異なるものではないかと思うのですがどうなのでしょうか。ユーザースタイルシートのススメの執筆者である そふぃあさん がこの記述方を採用していたり、推奨しているのなら良いと思いますが、例として既存の物を挙げているだけならば、あきやんさん ご本人が過去に作成したCSSと整形した結果のCSSを提示しているのでそれで充分だと思う。

ところで あきやんさん ご本人も例外ケースとして挙げているが、無難なマークアップ(無駄なグループ分けをしない)をしている場合はCSSの量はそれほど多くもならないし、複雑にもならない。この場合は図書館方式の方が優位なようだ。そこで あきやんさん 本人のマークアップやCSSはどうかと思い拝見させて頂いたが、ややグループ分けが多いように感じられるものの、(私が言うのも難ですが)簡素で綺麗なマークアップをしていらっしゃるのではないかと見受けられます。CSSのサイズも大きくないですし、図書館方式でも充分に行けるのではないかと思うのですがどうなのでしょう。やはり感覚的な問題でプロパティ別整理法の方が性に合っているのでしょうか。この提案の為にわざとプロパティ別整理法を用いていると見るのは穿ち過ぎでしょうか。

スポンサーサイト




コメント一覧

コメントの投稿欄

Copyright © 2005 rara All Rights Reserved.