読者です 読者をやめる 読者になる 読者になる

「Githubでプルリクにいいねしたい」願望を叶えるUserScriptを開発しました

JavaScript - Client Side - Advent Calendar 2013 12/07分の記事です。
JavaScript 超初心者による、初心者向けのエントリーです。


プルリクエストをレビューしているとたびたび、
レビューコメントやプログラムの diff に「いいね」したくてたまらなくなりますよね。

皆さんのそんな願望を叶えるべく、
Github/Github enterprise 用 UserScript「StealthLike」を開発しました。

f:id:nz650:20131206204856p:plain

自分で言うのもあれですが、 これがまた、どうしてなかなか超絶便利です。

スクリプトは、下記の通り Github にて公開しています。

本日は、この「SealthLike」を紹介しつつ、 作成する中で学んだ事をかんたんにまとめておきます。

■StealthLikeとは

プルリクや issue にいいねするための UserScript です。
いいねされた部分は、ハイライトなり引用なりで、いい感じに表示されます。

f:id:nz650:20131206230141p:plain

また、「いいね」した内容は、該当プルリクエストのコメントとして保存されるため、
大切なプログラムが外部に漏れてしまう事はありません。

■StealthLikeの開発を通して学んだ事

JavaScriptの文法すら知らない状態からの開発でしたので、多くのエンジニアにコードレビューのご協力をいただいた結果、
2プルリクで 200コメントもつくという、大変ツラく長い戦いになりました。

作者の死闘っぷりと、 とても勉強になる200のコメントは、下記プルリクでご覧いただけます。

以下、その中でもとくに勉強になった事をまとめます。

JavaScript書く時は、とりあえず "use strict" って書く

JavaScriptをグローバルに書くのはイクナイ

strictモードだと、if文内に関数宣言を書けない

replacedHtml と textContent を使い分けるべし

関数式は、おしりに「;」

関数式よりも、関数宣言または名前付き関数式

シールを作る時は、発注前にmacに貼れるか確認する

  • 拡散ツールとしてロゴのシールを作ったが、素材の相性に難があり、macに貼れなかった
  • シールを作成する際は、発注前に mac に貼れるか確認する事

以上です。

皆さん、StealthLike、気になりますよね。わかります。

ぜひインストールして、プルリクにいいねしてみてください。
そして、素敵なソーシャルコーディングライフを!

■おまけ

いいねのテストはPlaygroundでできますよ〜。


JavaScript - Client Side - Advent Calendar 2013、明日はArcCosine@githubさんです!