jstarted.com
JavaScript/HTML/CSSのノウハウや覚書を掲載するブログ
2015.2. 9

CSS Nite LP39 に参加しました。

Category:
Column

CSS Niteに数年ぶりに参加してきました。

CSS Nite LP39「コーディングスタイルの理想と現実」(2015年2月7日開催)

この業界に足を踏み入れたばかりの銀座のApple Storeで行われていた頃に一度だけ参加したことがありましたが、その後はめぼしいテーマもなかったので、特に気が向くこともありませんでした。それが今回、以下のようなテーマで行われるということで告知が来、ひさしぶりに興味を引かれました。

ここ数年、プリプロセッサーやタスクランナーなどがもてはやされ、コーディングスタイルが大きく変わりそうでしたが、「規模感に合わない」「逆に管理コストがかかる」など、フィットするもの/しないものの明暗も出てきました。もちろん、同じ人でも、案件規模や要件、チームメンバーの構成によって使い分けることが求められる場面もあります。
そこで、今回のCSS Nite LPでは、セッション(個人またはチームごとに)、案件・要件・事情を明確にし、そのデモ的な実演を行っていただきつつ、実案件でのスタディ、特に失敗例や悩みポイント/ハマりポイントなどを共有いただきます。

プリプロセッサ、タスクランナーの使用は、今在籍している会社の内部では必ず開発環境に取り入れるようにしています。これらを知り手を付け始めたばかりの頃には、円滑で完璧な開発環境を構築しルール化すれば開発コスト削減になると意気込んでいたものの、

  • 基礎的なGruntfileやプラグインセットを用意しても、案件ごとに必要とされるものが変わるため、結局毎回書きなおしている。
  • すぐに納品してしまうような案件では、導入することによってかえって機動力を欠くことがある。
  • 設定ファイル自体が難解になり過ぎ、共同開発に支障をきたす。
  • そのプラグインってほんとに必要なんですか?というものがあふれる。

といった難点も出てきはじめています。
そのため、同じような問題を抱えている人がいるのか、もしくは既にそれを解決している人がいるのであればその方法はどんなものか、そういったものを紹介してくれるセッションを期待していました。

css設計のノウハウを取り上げたセッションが目立つ。

BEMやSMACSSの概念に基づいた具体的な設計例の提示が多かったように思います。これらは非常に勉強になる内容でした。しかし逆にいえば、それらのセッションをもう少し減らすことはできなかったのかとも思います。いろいろな話がされましたが、この手の議論の要点は大きく2つです。

  • ネストは極力浅くする。
  • 命名は意味がわかるように具体的にする。

BEMは知りませんでしたが、SMACSSには個人的にも好感を持っています。
ただcssのみにとらわれず管理、更新しやすいコードを書くということであれば、オライリー・ジャパンから発行されている「リーダブルコード」を読むほうがより視野が開けるように思います。

言語に関わらず良質なコードはどういうものなのかを理解したうえで、ではcssでは具体的にどう記述するのがよいのかを考えるためにSMACSSのようなものを読むと、理解がより鮮明になるのではないかということです。cssだけ書くならそれも必要ないかもしれませんが、今後コーダーにはJavaScriptの習得がほぼ必ず要求されるはずですし、ある言語に限定しないコーディングの作法を学べば今よりもできることを増やす手助けにもなります。

タスクランナーのベストプラクティスに言及したセッションは無かった。

これはちょっとショックでした。僕の参加した目的はコレだったからです。ピクセルグリッドさんの社員3名の方によるビルドツールについてのセッションはあったものの、web上で「gruntfile」「gulpfile」で検索すればすぐ手に入るような情報の紹介に留まっていました。

例えばuglifyを取り上げるにしてもそれ自体を紹介するのではなく、何故JavaScriptファイルを圧縮するのか、圧縮することによって利点が生まれるのはどの程度の規模のプロジェクトなのかといった言及を期待していましたが、残念ながらそういった内容ではなかったです。

これはそもそも今回のイベントが悪かったというのではなく、汎用的なタスクランナーのベストプラクティスというものがそもそも存在しないということなのかもしれません。ウェブサイトの制作方法や案件の進捗方法などは数年前に比べればかなり体系化されてきた感がありますが、フロントエンドの開発環境が案件ごとの細かな要件定義に引っ張られてその良さを変えるものであるなら、開発環境設定というのはまだ一般的なウェブディレクションなどと同等の体系化には至っていないのかもしれません。


自分にとっての優良な開発環境の模索はまだまだ続きそうです。 今後これらのツールがより多くの開発者に使われるようになり、よりよい運用方法がもしもCSS Niteのようなイベントで共有されることがあるなら、そのときにはまた参加してみたいと思います。

jstarted.comはamazon.co.jpを宣伝しリンクすることによってサイトが紹介料を
獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、
Amazonアソシエイト・プログラムの参加者です。

クリエイティブ・コモンズ・ライセンス
jstarted.com by yoichi kobayashi is licensed under a Creative Commons 表示 3.0 非移植 License.