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

Google、社内標準言語の一つとしてTypeScriptを採用」記事へのコメント

  • by Anonymous Coward on 2017年04月12日 9時37分 (#3191976)

    TypeScriptはよく知らないんですが例えば
    (ちょっともう無茶苦茶な文法になってると思うけども)

    #------------------------------
    class Foo {
        function boo() { }
        # function qoo() { } # 不要なので消したら・・・
    }

    function fn(foo: Foo) {
        foo.qoo(); # ここのせいでコンパイルができない・・昨日まではコンパイルできたのに!
    }
    #------------------------------

    となるって事ですよね?
    コンパイルできない以上はテストも実行できないわけだけど、物凄く不便じゃない?

    # こういう時の自分は、重大な勘違いをしているw

    • by Anonymous Coward on 2017年04月12日 9時48分 (#3191982)

      不要だから消したFoo.qoo()が実行できる利点がよくわからない...

      親コメント
    • by Anonymous Coward on 2017年04月12日 10時27分 (#3192007)

      いや、コンパイル出来ない = 文法エラー = 実行前にエラーとなる箇所がわかる訳で…それが静的型付け言語の利点ですよね

      「コンパイルできない以上はテストも実行できない」と言いますが、そもそもコンパイルを通らないコードの時点でテストする価値は無いです

      親コメント
      • by Anonymous Coward

        ただ、例のようなプログラムは動的型付けの言語でも、コンパイル形式ならコンパイルの時点でエラーになる処理系は多い。なぜなら、qooという名前の変数(もしくは関数)は存在していないから。

        まあ、静的型付けの言語の方がコンパイル時にエラーを出していくれることが多いから、助けられている気分にはなるけど、実際に問題になるのは、予期していない値が発生した場合。正の整数を期待していたのに負の整数が来ちゃった場合とか。

        • by Anonymous Coward

          それを補完するのがテストでしょ。

          スレ主は動的言語の使いすぎで大分本末転倒してるけど。

    • by Anonymous Coward

      IDEのサポートを評価って書いてあるし大丈夫じゃね
      そもそもいきなり消したりしないでobsoleteにでもすべきでは

    • by Anonymous Coward
      > コンパイルできない以上はテストも実行できない

      コンパイルが、整合性確認テストだと思えばいいんでは?

      IDE のサポートって意味では Visual Studio とかだと、まさに書いてる途中の未完成なコードでもバックグラウンドで単体テスト走らせてくれますよ。
      まさに「書いてる途中」でも、その直前のところまでで、キー入力が少し中断されるたびに単体テストが走って、リアルタイムにどの行でエラーが出てるか教えてくれます。

      なので、今時はコンパイル言語だからコンパイルできないとテストもできないなんて事もないです。
    • by Anonymous Coward

      qooが不要ならfnも不要だから一緒に消せばいいじゃん。
      消すべきところが分かって便利でしょ。

    • by Anonymous Coward

      テストが出来たとして、

      ・テストが通った→という事は、テスト中にfnが実行されていない→カバレッジが100%ではない→テストがクソ

      で、そんな状況は考慮に値しないわけで、

      ・テスト中にfnが実行されて、Foo.qooが消された事によるエラーが報告される

      正しくはこうなる。それがコンパイル時に事前に分かるようになるだけ。

    • by Anonymous Coward

      テストを実行するまでもなく、ビルド(IDEのプリコンパイル)時点でエラーが分かるって見方をすると物凄く便利です。

    • by Anonymous Coward

      何という動的言語脳……。
      コンパイル通らないからエラーがあるってわかるんでしょ。
      テストの目的は何?
      エラーを探すことでしょ。

      つまり、テストを通すまでもなくエラーが発見できるわけだけど、何が不満?

      • by Anonymous Coward

        流石にこれは笑った。
        本末転倒過ぎる。
        テストを通すのが目的なんでしょう。

    • by Anonymous Coward

      本気でこれを不便だと思っているのか、例が不適切で意図が上手く伝わってないのか、物凄く気になる。
      fnは既に機能不全を起こしているのだから、当然テストは失敗して欲しいわけだが・・・

    • by Anonymous Coward

      死ね

アレゲは一日にしてならず -- アレゲ研究家

処理中...