Visual Studio 2022のプレビュー版にAIが識別子の名前を考えてくれる機能 53
ストーリー by nagazou
キラキラ識別子 部門より
キラキラ識別子 部門より
識別子の命名はコードの可読性と保守性に影響を与えるため、適切な名前をつけることが大切だが、その場で合う名前を付けるのは難しい。そんな中、「Visual Studio 2022」v17.9 Preview 1に、AIが開発者に識別子(変数やメソッド、クラスなどの名前)を提案する機能が導入されたそうだ。(Visual Studio ブログ、窓の杜)。
この機能は、「GitHub Copilot Chat」拡張機能(サブスクリプションが必要)を活用したもので、デフォルトでは無効化されているが、オプション画面で有効化できる。利用するには、任意の識別子を選択し、右クリックして名前の変更コマンドを実行すると、パネルに文脈に応じた名前の提案が表示されるそうだ。開発者は提案の中から選んでEnterキーを押すことで、選んだ名前に識別子がリネームされる。ただし、最新のPreview版ではまだ若干の問題が残っている模様。
勝手に命名されて35時間がムダになる (スコア:0)
リーダブルコードでも読んで勉強してください。
自分で学ばずに命名しても理解できない。
名前には上下関係がある。視覚的にそれを見て理解するためにしっかり理解、方向性を決めて作っていく癖を作っておかないと
自分が見ても他人のコードを読んでもわからないものしかできない。
名前をつけるためにどういう条件があるかだけも付けないと勉強になりません。
自分がダメになりますよ。
リーダブルコード
https://www.oreilly.co.jp/books/9784873115658/ [oreilly.co.jp]
Re:勝手に命名されて35時間がムダになる (スコア:2, すばらしい洞察)
なんかコードは紙に印刷して心を込めてデバッグするもんだ、みたいな精神性というか宗教的なものを感じます…
AIがそういう文脈も読んで作れれば、というか他人が読めるコードを吐いたらどうなるの?
Re: (スコア:0)
AIにリーダブルコードを読み込ませて学習させよとか元コメが言いそう
そして他人が読めるコードを吐いたら元コメは無職になる
Re:勝手に命名されて35時間がムダになる (スコア:2)
>開発者は提案の中から選んで
とあるので勝手には命名されないみたいですよ。
AIはしょせん提案ツールだってことをプログラマが理解していて、出てきた名前の良否を判断する能力がそれなりにある場合なら、良い効率改善ツールだと思うな。
そういう理解がないプログラマが使えば、コードの質は下がるし、プログラマ自身の能力も伸びない。そういう意味ではプログラミングの教科書は読むべきだってのは同意。
AIは優秀な人と無能な人の差を拡大するっていう典型例じゃないかな。
Re:勝手に命名されて35時間がムダになる (スコア:1)
老害には想像もつかないでしょうけど、今どきの若い優秀な子はAIの提案から学んでるんですよ。
紙の本だけに頼っていると自分がダメになりますよ。
Re: (スコア:0)
若手にリーダブルコードとやらでマウントとろうとしてスルーされてそう。
Re: (スコア:0)
リーダブルコード自体は普通に良書なんで勧めるのはいいとは思うんだけど、元コメの人は「AI使うバカどもに素晴らしい書籍を教えてやるからありがたく思え」みたいな態度で若者に接してそうだしなあ。
Re: (スコア:0)
AIの提案を考えて見てない老害っぽい発言
Re: (スコア:0)
つまりAIに書籍を読み込ませて学習させるところから始めろってことですね!?
Re: (スコア:0)
命名はAIに任せて英語の勉強した方が身に付きそう
# リーダブルコード読んだけど、で結局この場合に適切な単語は?になりがち
Re: (スコア:0)
世のなかの多くの人がそう考えているようなので無理もないが、今のAIは答えを出してくれるシステムじゃないよ。
これもそうみたいだけど、選択肢を提示するだけ。
リーダブルコードを読んだ方がいいというのは否定しないけど、そういった知識が集約されているAIを使わないというのは時間の無駄じゃないかな。
Re: (スコア:0)
新しい技術を否定するのではなく、どう使うかを考えよう。
じゃないと取り残されるよ。
取り残されるとますます新しい技術を否定して悪循環になる。
Re: (スコア:0)
にわかな奴ほど語りたがる -- あるハッカー
Re: (スコア:0)
なんか再帰的な一言だな。
Re: (スコア:0)
ほんの何冊か名著を読んだことがあると言うた意見を持って、読んでないやつにマウント取りがちな輩が書きそうな文章。
説教と自称する自己満足で周りに35時間ぐらい無駄にさせてそう。
Re: (スコア:0)
無能な奴ほど新しい道具を頭ごなしに否定するし、自分が道具を使いこなせないのを道具のせいにするんだよ
Re: (スコア:0)
なんでいきなり自己紹介を始めたの?
Re: (スコア:0)
偉そうで鼻につくコメントではあるけど、べつにブーメランじゃなくね?
C#では前から似たような機能が (スコア:0)
型名入れると微妙に省略したりした名前を提案してくれるけど微妙だった
Re: (スコア:0)
今後は著名なパクリ元から適切に引っ張ってきてくれそうですね。
いかにも駄目なコード書いたら"hensuu_001_1"とか提案してきたりして。
Re: (スコア:0)
有名なクソコードを学習したらとんでもないことになりそう。
なんとか区分を hoge_kbn にしたり。
#スラドはクソコードのクソを漢字にしただけでSPAM判定するのか……
Re: (スコア:0)
>なんとか区分を hoge_kbn にしたり。
キラキラネームあるいは普段使わないような英単語を付けられるよりは100倍マシ。
Re: (スコア:0)
ちょっと居ればスパムの理由わかるよ
モード (スコア:0)
キラキラネームモードとか、おばあちゃんモードとかあると良い
Re: (スコア:0)
母国語モードは欲しいね。
最近、積極的に日本語変数やメソッド名使ってる。楽しい。
Re: (スコア:0)
日本語識別子は使ってみると案外いいんだよな。特に法律とか行政関係の用語は
英語に訳しようもない・無理矢理訳してもニュアンスなどが違うといったことが多いので。
変換が面倒で使わなくなるんだけど。
Re: (スコア:0)
ASCII外を使うかはいろいろと議論があると思うが、完全に日本ローカルな単語は下手に英訳した名前をつけるよりも素直にローマ字でいい。
どうせその手の開発は日本人以外はまず入らないし。
Re: (スコア:0)
項目や変数が増えると似た名前も増えてしまうことは避けづらい。
そのときローマ字だと判別しづらく混同しやすく読むことによる集中力の消耗も激しいので「ローマ字使うくらいなら素直にかな漢字にしろ」派。
中途半端はどっちの側にも苦痛と消耗を強いることにしかならない。
Re: (スコア:0)
言語としてはマルチバイト文字OKでも、英語圏のツールだと日本語対応が微妙だったりしてそういう時に困ったりする。
Re: (スコア:0)
これVisualStudioの話なんですよ。
識別子に利用できる文字というのはきちんと定義されていますしファイルのエンコーディングも今時はUTF-8でしょうから、
日本語(というか多言語)対応が微妙な英語圏のツールというのはもはや存在価値ないんじゃないかな。
Re: (スコア:0)
まともに日本語扱えない開発環境やツール群使ってる状況では、そもそも日本市場向けの製品開発が不可能なんでは?
Re: (スコア:0)
「素直にローマ字でいい」は若干開発者のレベルが低い時にそういうルールを採用せざるを得ない場合のことがあって、
それが実際まともじゃない開発者の集まりの場合一層ヤバい事になりがちなので(表記ゆれ放置とかモラル崩壊とか)、
いずれの場合でも用語集作るのが無難でしょうね。この概念のこの言葉にはこの識別名を割り当てる、というもの。
Re: (スコア:0)
低レベルは用語集を用意しても見ずに適当に命名するから低レベルなんですけどね。
Re: (スコア:0)
ローマ字は考えうる最悪手だな。
英訳したら誤解しそうなものとかは、日本語の識別子使のほうが数百倍マシ。
Re:モード (スコア:2)
日本語変数は分かりやすいとは思うけれど、日本語はローマ字(ラテン文字)表記すると母音がうるさくて綴りが長くなりがち。
モダン(と言うか昨今の常識)な英語圏でも変数/関数/クラス等の名詞群はそれなりに長いけど、簡単にそれ以上になりそう。ハンガリアン必須かな。
漢字混在で命名出来れば分かりやすいけど、それはそれで切り替えながら入力するんかい・・・試す勇気がないな。
Re: (スコア:0)
特定の分野で一応詳しそうな人に英語名聞いても知らないで、しょうがなくJISとか調べると、本当にこれでいいの?みたいな微妙なのが載っててちょっと驚く。
VS2024の機能にした方がいんじゃね (スコア:0)
windows13(Windows2024?)でクライアントAIブーストするんだしさ
Re: (スコア:0)
これから利用領域増やしていこうって技術なのに限定してどうすんだよ。
Re: (スコア:0)
12はどこいった?
もめる (スコア:0)
OpenBestMickeyMouse() みたいな識別子がチェックをすり抜けて紛れ込んで、sradの小ネタになる
Re: (スコア:0)
ポリコレや罵倒語の方が可能性高くないか?
Re: (スコア:0)
Warning: enum 'card_type_mastercard' contains a politically incorrect term. To resolve this issue, you need to rename the enum to something else.
Re: (スコア:0)
Oppaiならもめたほうがうれしいです
空目 (スコア:0)
「AIが拡張子の名前を考えてくれる」と空目して、AI必要?とか
AIが必要なほどファイルの内容が難読化されてる?とか思った。
Re: (スコア:0)
そうですね
一般的な単語・用語なら (スコア:0)
命名は別にそこまで苦労しないんだが、特定企業の製品や工程で使われる内部造語みたいなのが困る。
英語にするにも元の造語を想像するには微妙で、結局醜いと思いつつもローマ字でそのままつけるという…
Re: (スコア:0)
重複しやすいアルファベット3文字略称 [wikipedia.org]とかね
# 社内ですら被るし
pon.asm (スコア:0)
就職して最初にやった仕事は、パワーオン時デバイス初期化ルーチンのアセンブラソース(pon.asm)をもらって
動作仕様に従ったコードを追加していくというものでした。
ソースのラベルが5文字、ファイル名が7文字の制限があって、いろいろ悩んで命名したのですが。
リンク時の一番最初のソース・ファイルがpon.asmで出力ファイル名を指定しなかったの出来上がったのがpon.bin
そのシステムは以降10年以上ponと呼ばれ続けました。
Re: (スコア:0)
そのうち、spin up protector が付き、初期化が2系統になり…。
なんだ、アドビのファイルが変わるのかと思った (スコア:0)
Adobe Illustratorの拡張子.AIが勝手に.EPSとか.SVGに書き換えられるのかと思った。