標準APIを使いこなすことが重要なのであれば、いつでも標準APIを検索できる状態にしておくことが大事ですよね

昨日SonicGarden StudyでCodeIQ ベストコード発表会 ~最もエレガントにカラオケマシン問題を解いた挑戦者は誰だ!?というイベントがあったのですが、その中で良いコードを書く秘訣として「使う言語の特性を最大限活かす」つまりちゃんと標準APIで用意されている機能を使って書こうよという話がありました。

標準APIを使いこなすためには

(以下、こちらのスライドより抜粋)

CodeIQベストコード発表会__sg_study 2

しかしruby-doc.orgを繰り返し読むのは若干苦行ですよね。調べたいクラスと言えば大体ArrayとかHashだと思うので、サクっとその辺のクラスで用意されているメソッドが検索できれば良いと思います。

それ、Alfredでできるよ!(Mac限定)

Dash + Alfred + Dash Workflowでストレスフリーな開発を

DashもAlfredも有料ですが、Macを使って開発しているなら買わない理由が分かりません。買いましょう!

Dashはいろいろな言語のリファレンスを一気通貫に引けるアプリです。Railsだってnode.jsだってjQueryだってAngularJSだってObjectiveCだって引けます。大変便利です。

AlfredはMacを使う上でのいろんな操作を簡略化してくれるツールです。Macに入っているアプリ名を打ち込めばそのアプリを即座に起動することができますし、find *.jpgとすればJPEGファイルを検索してくれたりもします。更に強力なのがお金を払うことで使うことができるようになるAlfred Workflowという機能で、インターネット上で公開されている様々なWorkflowをインストールすれば、Alfred上でリアルタイムに文字列翻訳ができたり、特定のURLをiOSシミュレータで開くことができたり、世界のタイムゾーンを即座に確認できたり、更にこの世にWorkflowが存在しなければ自分で作ってしまえばよかったりと、様々なWorkflowを手元に用意するとこれなしでは生きられない身体になってしまいます。

で、今回はそのAlfred WorkflowのDash Workflowを使って標準APIを簡単に引けるようにしておこうよ!という話です。

用意はカンタン。Alfred Workflowを使えるようにしたあと、こちらのリンクからDash WorkflowをダウンロードしてAlfredに取り込めばOK。

するとこんな感じで標準APIを検索できるようになります。

スクリーンショット 2014-07-09 14.58.30

    ↓ ↓ ↓

スクリーンショット 2014-07-09 15.10.49

これでいつでもローカルで標準APIを検索できるので、いちいちネットでAPIを検索するなんて手間はなくなります。

上記のスクリーンショットのように、検索する前に「ruby」とつければrubyのAPIを検索してくれるのですが、ここを「underscore」などとすればUnderscore.jsのAPIを検索してくれたりもします。現在の最新バージョンで対応している言語(ライブラリ)は以下の通りです。意外とbootstrapのスタイルを検索できるのが助かっています。

Commands Included: dash {query} (default), html {query}, css {query}, js {query}, jquery {query}, jqueryui {query}, angularjs {query}, bootstrap {query}, svg {query}, nodejs {query}, php {query}, redis {query}, mysql {query}, man {query}, cpp {query}, sass {query}, compass {query}, backbone {query}, underscore {query}, wordpress {query}, drupal {query}, django {query}, python {query}, python2 {query}, elisp {query}, android {query}, yui {query}, ruby {query}, rails {query}, gem {query}, bourbon {query}, neat {query}, jade {query}, stylus {query}, coffee {query}, knockout {query}, erlang {query}, lua {query}, foundation {query}, ios {query}, lodash {query}, vagrant {query}, bash {query}, vim {query}

Dash側でもDocsetをダウンロードしておくのを忘れないようにしましょう。使うものだけで良いと思います。

スクリーンショット 2014-07-09 15.15.07

Dash Workflowで対応していない言語(ライブラリ)があったら、自分で追加してしまえば良いところもAlfred Workflowの良いところです。そんなに難しい仕組みではないので、中身を見れば簡単に追加できますよー。

いつも使う道具については、いつでも素早く必要な情報を調べられるようにしておくのが生産性&クオリティを上げるコツだと思います。ではでは。