パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

もうやらなくていい昔のコーディングテクニックあれこれ」記事へのコメント

  • by Anonymous Coward

    //コメントの記述で叱られる

    • Re: (スコア:2, 興味深い)

      「//」コメントのことでしたら、コーディング規約で禁止されています。
      #使用言語はC言語です。
      #「もうやらなくていい」というより「使ってもよさそうなのに禁止」されています。

      禁止になった理由は、コメントの最後に「\」となるマルチバイト文字をつかってしまい
      (本当はコメントにしたくなかった)次の行までコメントとなってしまったからです。

      #こういうのを「馬鹿基準」と言ってる人もいますね。
      #低レベルな人に合わせて無駄な禁止事項が増えていくという。

      無駄なコーディング規約より「DRY原則遵守」で。
      • Re: (スコア:1, すばらしい洞察)

        by Anonymous Coward
        例に挙げられているケースだけで言えば,

        「コメントの最後に『\』となるマルチバイト文字を使ってはならない」

        よりも

        「『//』コメントは一切禁止」 もしくは 「日本語の『//』コメントは禁止」

        のほうが,わかりやすくて妥当なルールだと思いますが…. 「//」コメントを書くたびに禁止文字リストを使ってチェックしろとか,禁止文字を暗記しろとか言われるほうがむしろたまりません.

        そもそも,この場合で悪いのはマルチバイト対応が不十分なコンパイラであって,落とし穴にはまった人を「低レベル」呼ばわりするのは筋違いのように思います. 道具の側にくだらない制限があるなら,コーディング規約でくだらない制限をしなければならないのはやむを得ませんよね.

        P.S. 後学のためにどういうコンパイラと文字コードの組み合わせか教えてもらえませんかね?

        • by Anonymous Coward
          なんで人間がチェックする必要があるのさ。

          //コメントを禁止するのではなく、
          //コメントにおいて次行に跨がらせるために行末に\を書くことを禁止すべき。

          チェックはテキストフィルタでやればいいし、ついでに自動で無害化しちゃえばいい。
          • by mkasa (12075) on 2009年05月04日 23時29分 (#1559274)
            折角なので//コメント+行末'\'をテキストフィルタでチェックしていたのに
            失敗してデバッグに1日かかった私の体験談を。

            VC++ で開発していてデバッグが済んだので g++ に持って行ったら
            原因不明の謎の挙動を示して、頑張ってデバッグしたら原因がコレ。

            //表
            top++;

            # SJIS 対応製品と未対応製品を混ぜるな危険ということであればその通り.

            親コメント

最初のバージョンは常に打ち捨てられる。

処理中...