アカウント名:
パスワード:
//コメントの記述で叱られる
「コメントの最後に『\』となるマルチバイト文字を使ってはならない」
よりも
「『//』コメントは一切禁止」 もしくは 「日本語の『//』コメントは禁止」
のほうが,わかりやすくて妥当なルールだと思いますが…. 「//」コメントを書くたびに禁止文字リストを使ってチェックしろとか,禁止文字を暗記しろとか言われるほうがむしろたまりません. そもそも,この場合で悪いのはマルチバイト対応が不十分なコンパイラであって,落とし穴にはまった人を「低レベル」呼ばわりするのは筋違いのように思います. 道具の側にくだらない制限があるなら,コーディング規約でくだらない制限をしなければならないのはやむを得ませんよね. P.S. 後学のためにどういうコンパイラと文字コードの組み合わせか教えてもらえませんかね?
そのバグ、ハマったことあります。
Shift_JIS環境で作ったソースを、文字コード変換しないでそのままロケールがUTF-8の環境に持ち込み、Shift_JISのコードをUTF-8ロケールのままコンパイルしたら、なりました。詳しいバージョンまでは覚えてませんが、コンパイラはgcc 4.x.xだと思います。
もっとも私の場合は、コンパイラがマルチバイトに対応してないなどといった話ではないと思います。
# 改行がCRLFな環境で作ったテキストファイルを、改行がLFな環境で開いてfgetsしたら、# 末尾にLFだけでなく、CRLFが読み込まれるってのにもハマった。# なんであのマシン、nkf入ってないんだ……
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
最近はいない? (スコア:0)
//コメントの記述で叱られる
Re: (スコア:2, 興味深い)
#使用言語はC言語です。
#「もうやらなくていい」というより「使ってもよさそうなのに禁止」されています。
禁止になった理由は、コメントの最後に「\」となるマルチバイト文字をつかってしまい
(本当はコメントにしたくなかった)次の行までコメントとなってしまったからです。
#こういうのを「馬鹿基準」と言ってる人もいますね。
#低レベルな人に合わせて無駄な禁止事項が増えていくという。
無駄なコーディング規約より「DRY原則遵守」で。
Re: (スコア:1, すばらしい洞察)
「コメントの最後に『\』となるマルチバイト文字を使ってはならない」
よりも
「『//』コメントは一切禁止」 もしくは 「日本語の『//』コメントは禁止」
のほうが,わかりやすくて妥当なルールだと思いますが…. 「//」コメントを書くたびに禁止文字リストを使ってチェックしろとか,禁止文字を暗記しろとか言われるほうがむしろたまりません.
そもそも,この場合で悪いのはマルチバイト対応が不十分なコンパイラであって,落とし穴にはまった人を「低レベル」呼ばわりするのは筋違いのように思います. 道具の側にくだらない制限があるなら,コーディング規約でくだらない制限をしなければならないのはやむを得ませんよね.
P.S. 後学のためにどういうコンパイラと文字コードの組み合わせか教えてもらえませんかね?
Re:最近はいない? (スコア:1)
そのバグ、ハマったことあります。
Shift_JIS環境で作ったソースを、文字コード変換しないでそのままロケールがUTF-8の環境に持ち込み、
Shift_JISのコードをUTF-8ロケールのままコンパイルしたら、なりました。
詳しいバージョンまでは覚えてませんが、コンパイラはgcc 4.x.xだと思います。
もっとも私の場合は、コンパイラがマルチバイトに対応してないなどといった話ではないと思います。
# 改行がCRLFな環境で作ったテキストファイルを、改行がLFな環境で開いてfgetsしたら、
# 末尾にLFだけでなく、CRLFが読み込まれるってのにもハマった。
# なんであのマシン、nkf入ってないんだ……
1を聞いて0を知れ!