僕はあの日夕暮れ時に書いたスタイルガイドを忘れない

dev

HTML5ビギナーズのイベント、「第12回HTML5ビギナーズ 目指せ脱初心者!現場で使われている実践スキルとは?」で LT をしてきた。

発表するのに用意した原稿:

今日は、昔時間をかけて作ったスタイルガイドを枯れさせないために僕はどう動いたか、プロジェクトのコードの一貫性を保つためにどのタイミングで手を加えていったか、そんな話をしたいと思います。

まぁ体験談です。

特に新しいツールの紹介もなければ、難しい話もありません。ただ、その分、この話を聞いてくださった方が次の日には行動に移せるような、そんな話にはなっていると思います。

## 自己紹介
@thleap という名前でデザインとか、Web サイトのコーディングをやってる人です。

## 君はあの日書いたスタイルガイドのことを覚えているか

皆さん、モジュールを定義したスタイルガイドではなくて、命名規則とかコメントの形式とか、そういったものを記したスタイルガイドって作ったことありませんか?もしくは今参加しているプロジェクトにありませんか?

もし作った方がいれば、それって今どうなっていますか?

---

ちなみに僕は去年作りました。去年作って、そのままです... 。

---

昔時間をかけて書いたガイドラインのことを忘れてませんか、書いたまま放置していませんか、こんなふうになってませんか。

- プロジェクトのコードに一貫性がなくなってきた
- コードがルールにそぐわないようになってきた
- 今自分の頭の中にある考えと、昔ドキュメントに書いた考えが違う

---

一年も経つとスタイルガイドが用をなさなくなってきたことに気付き出します。ですが、面倒なのでそのままです。

無くても困らないものにわざわざ手を付けたくないというのが、やはり人間の心です。

---

こうしてスタイルガイドは枯れていきます。

## 忘れたくないものを忘れないようにするには
では、忘れたくないものを忘れないようにするために、普段僕らはどうしてるでしょうか。

---

食事とか睡眠のように、何もしなくても、何も考えなくても、生きるために必要だから忘れないものもあります。

でもそれとは逆に、普段から必要じゃないものはすぐに忘れてしまいます。そういったものを覚えておくには、毎日目で見える場所に置いて、それに触れて、思い出すようにしないといけません。

---

- 食後に服用する薬
    - 鞄の中に入れたりしてると目につかないので忘れる
    - 食後 30分以内を過ぎると存在を忘れる
    - (食事をする机に置いて、食べた皿を洗う前に飲むようにすると忘れない)

---

- 毎日 15分のジョギング
    - 玄関にジョギングシューズが出てないと忘れる
    - 怠けて 3日空けると忘れる
    - (玄関に立てばすぐ走れるような準備をして、期間を空けずに走ると忘れない)

---

それを行うのに適切なタイミングを見つけ、行動を思い起こすモノ・もしくはそれ自身を置く場所に気を使い、一度始めたら間を空けずに続けることが大切です。

## プロジェクトに小さく足跡を刻む
では、話を「スタイルガイドを枯れさせないためにはどうするか」というのに戻します。

---

先ほどのスタイルガイドですが、実は僕が関わった別のプロジェクトでも使われています。...というよりは、元のスタイルガイドと同じ時期にそのプロジェクトに(僕が)投げ入れてそのままだったので、最近まで同じように枯れていました。

thleap/styleguide (元のもの)は相変わらず枯れているのですが、プロジェクトのWikiに置いているものは最近調子が良いのでこれの話をします。(プライベートなプロジェクトなので、実際のコードは見せられないのですが)

---

スタイルガイドはプロジェクトの Wiki に置いて、毎週どこかで帰る前の 30分、コードやスタイルガイドに手を付けていました。

それを二ヶ月ほど続けました。

---

とあるプロジェクトでの変更例その一です。  
もちろんこのように一行だけではないですが、クラス名を変えただけですね。

---

その二です。  
HEX カラーコードで指定された色の値を Sass の変数に変えただけですね。

---

その三です。
...ルールに基いて変更しようとしましたが、変更前の方が良いですね。

---

こういったときはコードではなく、ルールの方を変更しましょう。

---

どんなに小さな変更でも良いので、プロジェクトのコードに触れることが大切です。

## 最後に
スタイルガイドはコードの一貫性を保つためのドキュメントです。  
それを上手く活かしたなら、コードにも自然と一貫性が生まれるはずです。

反省

スライド作りには以前と同じように時間を使った。発表用の原稿(上のやつ)も用意したし、それを使って発表の練習もした。

でも、スライドと原稿を照らし合わせながら練習するのを怠ってしまったな… 。


盆LT を終えて少し勇気が出たので、他のイベントでも人前に出て話をしてみる気になった。

この感覚というか、この気持ちを忘れないようにしたい。