パスワードを忘れた? アカウント作成
21539483 story
プログラミング

Visual Studio 2022のプレビュー版にAIが識別子の名前を考えてくれる機能 53

ストーリー by nagazou
キラキラ識別子 部門より

識別子の命名はコードの可読性と保守性に影響を与えるため、適切な名前をつけることが大切だが、その場で合う名前を付けるのは難しい。そんな中、「Visual Studio 2022」v17.9 Preview 1に、AIが開発者に識別子(変数やメソッド、クラスなどの名前)を提案する機能が導入されたそうだ。(Visual Studio ブログ窓の杜)。

この機能は、「GitHub Copilot Chat」拡張機能(サブスクリプションが必要)を活用したもので、デフォルトでは無効化されているが、オプション画面で有効化できる。利用するには、任意の識別子を選択し、右クリックして名前の変更コマンドを実行すると、パネルに文脈に応じた名前の提案が表示されるそうだ。開発者は提案の中から選んでEnterキーを押すことで、選んだ名前に識別子がリネームされる。ただし、最新のPreview版ではまだ若干の問題が残っている模様。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2023年12月26日 6時15分 (#4585761)

    リーダブルコードでも読んで勉強してください。
    自分で学ばずに命名しても理解できない。
    名前には上下関係がある。視覚的にそれを見て理解するためにしっかり理解、方向性を決めて作っていく癖を作っておかないと
    自分が見ても他人のコードを読んでもわからないものしかできない。
    名前をつけるためにどういう条件があるかだけも付けないと勉強になりません。
    自分がダメになりますよ。

    リーダブルコード
    https://www.oreilly.co.jp/books/9784873115658/ [oreilly.co.jp]

    • by Anonymous Coward on 2023年12月26日 6時58分 (#4585769)

      なんかコードは紙に印刷して心を込めてデバッグするもんだ、みたいな精神性というか宗教的なものを感じます…
      AIがそういう文脈も読んで作れれば、というか他人が読めるコードを吐いたらどうなるの?

      親コメント
      • by Anonymous Coward

        AIにリーダブルコードを読み込ませて学習させよとか元コメが言いそう
        そして他人が読めるコードを吐いたら元コメは無職になる

    • >開発者は提案の中から選んで

      とあるので勝手には命名されないみたいですよ。

      AIはしょせん提案ツールだってことをプログラマが理解していて、出てきた名前の良否を判断する能力がそれなりにある場合なら、良い効率改善ツールだと思うな。

      そういう理解がないプログラマが使えば、コードの質は下がるし、プログラマ自身の能力も伸びない。そういう意味ではプログラミングの教科書は読むべきだってのは同意。

      AIは優秀な人と無能な人の差を拡大するっていう典型例じゃないかな。

      親コメント
    • by Anonymous Coward on 2023年12月26日 9時20分 (#4585833)

      老害には想像もつかないでしょうけど、今どきの若い優秀な子はAIの提案から学んでるんですよ。

      紙の本だけに頼っていると自分がダメになりますよ。

      親コメント
      • by Anonymous Coward

        若手にリーダブルコードとやらでマウントとろうとしてスルーされてそう。

        • by Anonymous Coward

          リーダブルコード自体は普通に良書なんで勧めるのはいいとは思うんだけど、元コメの人は「AI使うバカどもに素晴らしい書籍を教えてやるからありがたく思え」みたいな態度で若者に接してそうだしなあ。

      • by Anonymous Coward

        AIの提案を考えて見てない老害っぽい発言

    • by Anonymous Coward

      つまりAIに書籍を読み込ませて学習させるところから始めろってことですね!?

    • by Anonymous Coward

      命名はAIに任せて英語の勉強した方が身に付きそう
      # リーダブルコード読んだけど、で結局この場合に適切な単語は?になりがち

    • by Anonymous Coward

      世のなかの多くの人がそう考えているようなので無理もないが、今のAIは答えを出してくれるシステムじゃないよ。
      これもそうみたいだけど、選択肢を提示するだけ。
      リーダブルコードを読んだ方がいいというのは否定しないけど、そういった知識が集約されているAIを使わないというのは時間の無駄じゃないかな。

    • by Anonymous Coward

      新しい技術を否定するのではなく、どう使うかを考えよう。
      じゃないと取り残されるよ。
      取り残されるとますます新しい技術を否定して悪循環になる。

    • by Anonymous Coward

      にわかな奴ほど語りたがる -- あるハッカー

      • by Anonymous Coward

        なんか再帰的な一言だな。

    • by Anonymous Coward

      ほんの何冊か名著を読んだことがあると言うた意見を持って、読んでないやつにマウント取りがちな輩が書きそうな文章。
      説教と自称する自己満足で周りに35時間ぐらい無駄にさせてそう。

    • by Anonymous Coward

      無能な奴ほど新しい道具を頭ごなしに否定するし、自分が道具を使いこなせないのを道具のせいにするんだよ

      • by Anonymous Coward

        なんでいきなり自己紹介を始めたの?

        • by Anonymous Coward

          偉そうで鼻につくコメントではあるけど、べつにブーメランじゃなくね?

  • by Anonymous Coward on 2023年12月26日 6時20分 (#4585762)

    型名入れると微妙に省略したりした名前を提案してくれるけど微妙だった

    • by Anonymous Coward

      今後は著名なパクリ元から適切に引っ張ってきてくれそうですね。
      いかにも駄目なコード書いたら"hensuu_001_1"とか提案してきたりして。

      • by Anonymous Coward

        有名なクソコードを学習したらとんでもないことになりそう。

        なんとか区分を hoge_kbn にしたり。

        #スラドはクソコードのクソを漢字にしただけでSPAM判定するのか……

        • by Anonymous Coward

          >なんとか区分を hoge_kbn にしたり。

          キラキラネームあるいは普段使わないような英単語を付けられるよりは100倍マシ。

        • by Anonymous Coward

          ちょっと居ればスパムの理由わかるよ

  • by Anonymous Coward on 2023年12月26日 7時30分 (#4585780)

    キラキラネームモードとか、おばあちゃんモードとかあると良い

    • by Anonymous Coward

      母国語モードは欲しいね。
      最近、積極的に日本語変数やメソッド名使ってる。楽しい。

      • by Anonymous Coward

        日本語識別子は使ってみると案外いいんだよな。特に法律とか行政関係の用語は
        英語に訳しようもない・無理矢理訳してもニュアンスなどが違うといったことが多いので。

        変換が面倒で使わなくなるんだけど。

        • by Anonymous Coward

          ASCII外を使うかはいろいろと議論があると思うが、完全に日本ローカルな単語は下手に英訳した名前をつけるよりも素直にローマ字でいい。
          どうせその手の開発は日本人以外はまず入らないし。

          • by Anonymous Coward

            項目や変数が増えると似た名前も増えてしまうことは避けづらい。
            そのときローマ字だと判別しづらく混同しやすく読むことによる集中力の消耗も激しいので「ローマ字使うくらいなら素直にかな漢字にしろ」派。
            中途半端はどっちの側にも苦痛と消耗を強いることにしかならない。

            • by Anonymous Coward

              言語としてはマルチバイト文字OKでも、英語圏のツールだと日本語対応が微妙だったりしてそういう時に困ったりする。

              • by Anonymous Coward

                これVisualStudioの話なんですよ。

                識別子に利用できる文字というのはきちんと定義されていますしファイルのエンコーディングも今時はUTF-8でしょうから、
                日本語(というか多言語)対応が微妙な英語圏のツールというのはもはや存在価値ないんじゃないかな。

              • by Anonymous Coward

                まともに日本語扱えない開発環境やツール群使ってる状況では、そもそも日本市場向けの製品開発が不可能なんでは?

          • by Anonymous Coward

            「素直にローマ字でいい」は若干開発者のレベルが低い時にそういうルールを採用せざるを得ない場合のことがあって、
            それが実際まともじゃない開発者の集まりの場合一層ヤバい事になりがちなので(表記ゆれ放置とかモラル崩壊とか)、
            いずれの場合でも用語集作るのが無難でしょうね。この概念のこの言葉にはこの識別名を割り当てる、というもの。

            • by Anonymous Coward

              低レベルは用語集を用意しても見ずに適当に命名するから低レベルなんですけどね。

          • by Anonymous Coward

            ローマ字は考えうる最悪手だな。
            英訳したら誤解しそうなものとかは、日本語の識別子使のほうが数百倍マシ。

            • by EmiliaEmily68 (35102) on 2023年12月27日 2時58分 (#4586419)

              日本語変数は分かりやすいとは思うけれど、日本語はローマ字(ラテン文字)表記すると母音がうるさくて綴りが長くなりがち。
              モダン(と言うか昨今の常識)な英語圏でも変数/関数/クラス等の名詞群はそれなりに長いけど、簡単にそれ以上になりそう。ハンガリアン必須かな。

              漢字混在で命名出来れば分かりやすいけど、それはそれで切り替えながら入力するんかい・・・試す勇気がないな。

              親コメント
        • by Anonymous Coward

          特定の分野で一応詳しそうな人に英語名聞いても知らないで、しょうがなくJISとか調べると、本当にこれでいいの?みたいな微妙なのが載っててちょっと驚く。

  • by Anonymous Coward on 2023年12月26日 7時44分 (#4585786)

    windows13(Windows2024?)でクライアントAIブーストするんだしさ

    • by Anonymous Coward

      これから利用領域増やしていこうって技術なのに限定してどうすんだよ。

    • by Anonymous Coward

      12はどこいった?

  • by Anonymous Coward on 2023年12月26日 9時13分 (#4585826)

    OpenBestMickeyMouse() みたいな識別子がチェックをすり抜けて紛れ込んで、sradの小ネタになる

    • by Anonymous Coward

      ポリコレや罵倒語の方が可能性高くないか?

      • by Anonymous Coward

        Warning: enum 'card_type_mastercard' contains a politically incorrect term. To resolve this issue, you need to rename the enum to something else.

    • by Anonymous Coward

      Oppaiならもめたほうがうれしいです

  • by Anonymous Coward on 2023年12月26日 10時06分 (#4585858)

    「AIが拡張子の名前を考えてくれる」と空目して、AI必要?とか
    AIが必要なほどファイルの内容が難読化されてる?とか思った。

  • by Anonymous Coward on 2023年12月26日 10時59分 (#4585892)

    命名は別にそこまで苦労しないんだが、特定企業の製品や工程で使われる内部造語みたいなのが困る。
    英語にするにも元の造語を想像するには微妙で、結局醜いと思いつつもローマ字でそのままつけるという…

  • by Anonymous Coward on 2023年12月26日 13時01分 (#4585960)

    就職して最初にやった仕事は、パワーオン時デバイス初期化ルーチンのアセンブラソース(pon.asm)をもらって
    動作仕様に従ったコードを追加していくというものでした。
    ソースのラベルが5文字、ファイル名が7文字の制限があって、いろいろ悩んで命名したのですが。
    リンク時の一番最初のソース・ファイルがpon.asmで出力ファイル名を指定しなかったの出来上がったのがpon.bin
    そのシステムは以降10年以上ponと呼ばれ続けました。

    • by Anonymous Coward

      そのうち、spin up protector が付き、初期化が2系統になり…。

  • by Anonymous Coward on 2023年12月26日 14時04分 (#4586007)

    Adobe Illustratorの拡張子.AIが勝手に.EPSとか.SVGに書き換えられるのかと思った。

typodupeerror

人生unstable -- あるハッカー

読み込み中...