概要
プログラミングをしていると実装の方式を試してみることがあると思います。あるいは、別の実装でうまくいくか自信のない時、今あるものはコメントアウトしておいて別の実装を試してみたり。そんな場合、今時はエディターの機能で簡単にブロックをコメントアウトしたりできますが、言語仕様をうまく使って一文字編集するだけでコードブロックをコメントアウトする小技を大昔に思いついていて今でも使うことがあるので紹介します。実装中の試行錯誤の時には便利です。
この技はC++/Java/Javascript系の、ブロックコメント/* ... */
とインラインコメント//
がサポートされている言語で利用できます。
ブロックを/
の削除でコメントアウトする
以下のように書いておくと、一番最初の/
を削除すると最初の行がインラインコメントからブロックコメントに切り替わり、ブロック全体がコメントアウトされます。
//*
var x = foo;
//*/
先頭行が//
で始まると、最初と最後の行がどちらもインラインコメントになり、/*
で始まるとそこから一番最後の*/
までがブロックコメントになるわけですね。
コメントアウトするブロックを切り替える
先ほどのテクニックの応用編で、二つのブロックのうち、どちらを利用するのかを先頭の/
で切り替えます。
//*
var x = "foo";
/*/
var x = "bar";
//*/
真ん中にある/*/
がポイントで、最初がブロックコメントになっていたらそちらとペアになって前半をブロックコメントにし、なっていなかったらそこからブロックコメントが始まって最後の*/
で閉じる、というふうに動きます。
まとめ
結構便利で思いついた時には変な満足感がありました。ただしご覧の通りこれ以上ないくらい小手先のテクニックで、当然ながらリポジトリにコミットする場合には消しておくべきコメントですので、レビュワーから怒られる前にきちんと削除してコミットしましょう。