SampleCalc作成に直接は関係しないオフトピックです。開発時にお世話になったツールなどを紹介します。
Git - Fast Version Control SystemGitHub
恐らく一番普及しているであろう分散型バージョン管理システムとそのホスティングサービス。GitはLinuxのLinus Torvaldsにより開発されました。GitHubは GitHub社によって運営されています。
私は元々GitではなくてMercurialを使っていましたが、みんながGitHubしか使わないのであっさりと乗り換えました。SampleCalcのソースも、このドキュメントもGitHub上で公開しています。
JavaScript用のLintツールです。*JavaScript* はインタプリタ言語ですからコンパイル時の静的チェックが入るみたいな事がありません。さらに幸か不幸か何となくそのままできる限り実行し続けようとしてくれたり、動かなくなった時のメッセージの情報量がすくなかったりして、ちょっとしたタイポなどに気が付かずにドハマりしてしまう事があります。そんな時に役に立つのがこのツールです。
JavaScript Lintでは様々な構文チェックと、ある程度の推奨されているスタイルにそっているかのチェックを行ってくれます。急に動かなくなったりした時は実行してみましょう。どこかでセミコロンやカンマを忘れているだけかもしれません。また、推奨されない書き方(考え方次第なので一概には言えませんけど)になっていた場合は矯正するのもいいと思います。
JavaScript Lintはオンラインでも実行できますし、各環境毎に用意してあるCUIツールをダウンロードして実行する事もできます。
Note
bash-3.2$ jsl -process sampleCalc.js
JavaScript Lint 0.3.0 (JavaScript-C 1.5 2004-09-24)
Developed by Matthias Miller (http://www.JavaScriptLint.com)
sampleCalc.js
0 error(s), 0 warning(s)
もちろんSampleCalcはバッチリ通ってますよ :-)
QUnit - jQuery JavaScript Library
QUnitは「強力、かつ簡単」を合い言葉に開発されたJavaScript用のUnitTestツールです。元々はjQuery専用として依存したライブラリでしたが、今では単体でも動作するようになっています。*jQuery* もQUnit自体も、もちろんQUnitでテストされていますよ。
テストのやり方は他のUnitTestツールを使った事があればすんなり馴染めるものだと思います。それをjQuery風に記述していきます。また、決まった書式でテスト実行用HTML書類を作成する事で、テスト結果を美しく表示してくれます。Ajax通信にも対応しており、工夫次第ではUIのテストもできます(私はできませんけど)。
LESS « The Dynamic Stylesheet language
LESSはCSSを拡張しプログラマブルに記述できるようにするプリプロセッサです。LESS自体はJavaScriptで記述されているので、事前に変換して使う以外にもクライアントサイドやサーバサイドでも実行できます(Nodeを使ったりして)。変数やMix-in、入れ子にできたり、引数を受け取る関数的な使い方もできるようになります。基本的に冗長な記述を排除する方向です。
私はLESS書類の更新を監視して自動で変換するツールを愛用しています(LESS.app For Mac OS X)。これがなかったらLESSじゃなかったかも。
Overview — Sphinx 1.1.2 documentation
Sphinxは「簡単に美しいドキュメントを作成」できるようにと作られたPython製のツールです。reStructuredTextをマークアップ言語として採用しています。出力フォーマットにHTMLやPDFを選択する事ができるのですけど、今回はHTMLを選択しました(PDF化はしんどくて諦めましたのですけど)。
あまり凝った組版的な事はできませんが、必要最小限+アルファがある感じで気に入っています。