TOPハウツー・学習テクノロジーvoi-chord技術ワードトーク 「コードコメント」18:34 9月22日 79再生 問題を報告する 再生する シェアする AI目次AI生成コメントの課題と未来コメントの歴史的変遷とその本質Google流コメント不要論の衝撃日本語コメント必須の背景とはAI時代の理想的なコメント戦略AI文字起こし(β版) # チャプター 1 ともと、せんちゃんの、ボイコード Voicy Engineerの声と出会えるチャンネル、ボイコード このチャンネルでは、Voicy Engineerの日々の活動をお届けしています。 おはようございます。 ありがとうございます。 ちょっと、はい。 はい、ありがとうございます。 あ、すいません。 全然僕も大したことを言おうとしてたわけではないです。 収録時間多分前後してるんですけど、 前回の放送も同じ2人でやってるはずですね。 あー、確かに。 そうかも。 なんか、この組は平日版と週末版2回あるから、 たまに同じ2人で2回撮るみたいなのがあったりしますよね。 まさとともさんもこの前、連続でしたね。 あ、そうそう。 ちょうど今日、あれですね、全然関係ないですけど、 10周年でちょっとしたランチパーティーあって、 テンションは上がり気味です。 はい。 じゃあ今日は、技術ワードトークでコードコメント。 はい。 コードコメントなんてしますか? しましょうか。 さっきの10周年の補足をするんですけど、 あー、確かに。 今日、この放送公開してるのは22日だと思うんですけど、 明日ですね、9月23日がVoicのサービスが公開された日で、 ちょうど10年っていう。 すごいですよね、10年って。 いやー、10年前、まいっか。 そんな感じになってしまうくらい長い時期か。 そんな感じになってしまうんで、はい。 了解です。 じゃあ、コードコメントです。 コードコメントの話しましょう。 コードコメントはどうですか? 雑。 えー、何から話すかな。 コードコメントって何か一応話しておきますか。 そうですね、丁寧。 さすがセンチャー。 いつもの反省を生かして。 確かに、何の説明もなく始めるから。 しゃべりたいこと。 プログラミングをするときに、 コンピューターが実際にそれを読んで行動するロジックを書く部分と、 それはその動きには一切関係ないんですけど、 人間が読んで後から意味が分かるようにとか、 なんでそういうプログラムを書いたのか、 背景を追えるようにメモを残しておく機能があるんですね。 それです。 コードコメントも確かに何のコメントとして残すのか、 みたいなところとかは結構いろいろ言われているというか、 一般的にも思うんですけど、 最近特にあれですよね、 コードコメント結構辛いなって、 多分思っている二人が今日しゃべっているということだと思うんですけど。 まさもこのテーマは結構言いたいことあると思うんですけど、 今日はちょっといないんで。 はい。 ちょっといないんで。 特にとりわけAIで開発するようになって、 コードコメントちょっと辛いなっていうのはやっぱりありますね。 実装に対してコメントの量がめちゃめちゃ多くなったなっていうのが、 最近すごく顕著に感じていて、 人が書いたら多分コードコメントそもそも1行ぐらいで終わるはずが、 3行ぐらいになってたりとかして、 みたいなところとか結構あって、 結局コメントを読むのは誰かって言ったら人間だと思うんで、 人が読むかなって。 AIはコードそのものを読むっていうことに関してそんなに苦労していないと思うんで。 主に人間が読みたいと思えるものなのかっていうのは、 コードコメント難しいというか、 手直しばっかり最近してますね。 そうですね。 AIがそもそも日本語向けに作られていないから、 不自然な表現をたくさんするっていうのもありますし、 何かが足りなくてダメなことを、 過度に恐れて必要以上に、 とりあえず全部書いとくみたいな動きをするように作られてるんで、 それが過剰だと感じるということですね。 生身の人間として。 確かに。 言語的な違いも確かにありそうですよね。 英語だったらもしかしたら、 もうちょっとまともなというか、 読みやすい感じになってるのかもしれないですね。 特に日本語だと、 英語と日本語ってそもそも全然違う言語だから、 対応する言葉がそもそも、 必ずしもあるわけじゃないっていうところもあったりとかして、 変に日本語にされて苦労するみたいな、 壁時計とか。 壁時計に苦しめられている人たちみたいな。 ちょっと収録時刻前後してるから、 読みやすいかもしれないですね。 ちょっと収録時刻前後してるから、 我々からしたら未来の話なんですけど、 この前の土曜日に多分英語の話とかしてる。 確かに。してるはずであろう。 もしかしたら全然違う話してるかもしれないですけど、 今はそんな予定でいる。 未来の話。 皆さんは聞いたかもしれないんですけど。 ちょっと最近の課題感の話をちょっとしてきたんで、 なんか時代を遡って、 昔の話から考えてみますか。 一旦。 昔って、 だいたいコメントでない時って、 コメントないなんですよ。 ほとんど何も書いてなくて、 このプログラムは何のために存在するのか分からないみたいな。 それが一番問題で、 めっちゃ長文書いてあるとかはまだ全然マシというか、 いいぐらい。 もともとはコメントがなさすぎて、 ないから困ってたみたいなところが。 そういうパターンのほうがほとんどだったはずですね。 なるほど。確かに。 コメントを書く文化にあんまり馴染みがないというか、 そんなにちゃんと豆に残してきたタイプではないんで。 そうですね。 あれだったんですけど、 前の会社とかだと、 コードレビューがないんですよ。 コメントを残そうか残す前が関係ないと思っていたんで、 まあええやろみたいな。 両方のことがなければええやろぐらいの。 そんな感じではあったんで、 そもそも何に対してコメントを残さなきゃいけないんだっけみたいなところとかは、 最近少しずつ意識するようにしているという感じだったんで。 でも確かに複雑なプログラムだともうちょっと厳しいですよね。 無理ですね。なしだとちょっと。 確かに。 そもそも何やったんだっけとか。 僕は多分、読むのが苦手だということかなと個人的には思ったり。 謙虚に言うと、自分が読むのが苦手だから、 読んでわかるように書かないと気が済まないみたいな。 いや、めっちゃ気持ち悪い。 僕も読むのめっちゃ苦手だなって思いながら、 最近ちょっと人の行動を読んでいたりとか思ったんで。 もうちょっと謙虚さを取り除いて言うと、 初見で前提がない人の気持ちで読む能力が割と相対的にあって、 気になっちゃうんですよね。 それできると確かに気になるかもしれないですね。 読む時って完全にコンテキストを失われた状態で読むことになるから、 そうなった時は結構読みにくいなというか、 ちょっとわからないなというところが明確になりやすいけど、 自分で書いている時って頭の中にある程度情報があって、 その前提でバーって書いちゃってるから、 人に言われるまでわかんないみたいなのが結構よくありますね。 確かに。それで言うと気になるタイプってことですね。 はい。 確かに。せんちゃんに直近レビューを見てもらうことが多いんですけど、 この日本語はどういう意味ですかって聞かれて、 確かにってなってますね。 これは確かにわからんわって思って、 この言葉使いは間違ってますねみたいなところが結構あったりするんで。 その場合は本当に初見だからって。 でもその言葉の説明をやっぱり他の人が読むことを前提にしてるから、 やっぱり自分が読んでわかればいいでしょうはさすがに通じないというか、 自分だけわかるじゃダメだなみたいなのはコメントもらっていつも思ってます。 はい。 # チャプター 2 コードコメントのことをずっと気になっていたというか 最近気になっていたのは 仕事ですごいフラストレーションがあるというのもあるんですけど 先月コメントいただいていたやつがあったんですよね 面白い そうですね 8月22日の最近学んだ技術という放送で 佐藤健さんという方から すごいたくさんコメントいただいていまして コメント返しでも全部には振り切れていなかったと思うんですけど 個人的にコードコメントの話面白かったというか 話があるなと思って面白くないという意味じゃなくて これを思っていたんですよね ほんとだ 全部読むとあれなんですけど カイツマンで話すと 昔Googleとかで 2個ありますね話は 時差を利用して24時間書きましたみたいな話とか あとコメントの話があって コードにコメントを書くなという文化があったという話 今のとしてはわからない これ結構面白くて コメントでめっちゃカバーが必要なコードって コード自体が変なんですよね 表現できていないということですね だからコメントで補足がいるってことは そもそもコメントを頑張るんじゃなくて コードを直すことに意識を向けた方がいいんじゃないかという話とか 分かるな これは分かるな 自分にいつも言い聞かせられる 変なコメントを残してたら それは多分僕が表現できない つまり僕のプログラミング技術が 敗北したことを意味していると思いながら 説明を書くっていう 負けを認める敗北宣言だと思ってます僕は これはともさんが悪いというか 元のコードベースが悪かった話ですけど 苦肉の策でってコメントありました 大体そういうのはもう敗北を宣言してます 自分でもなんだこの意味わからないコードはというか やってることがなんかちょっと いまいちチグハグしてるなみたいなのはあったりしますね マッサーからもらったレビュー以来で印象的だったのも なんだっけな 苦し紛れのプログラムですって 大体思いながら めっちゃわかってる そうっすよねって そういうの見てると気持ちがちょっとわかってきて楽しい そうだよなっていう話が ありつつも 日本のプログラムでは 必ずしも これだけが正しいとは言えないと思ってて そもそも英語がわかんないことって結構あるんで 日本語コメント必須でしょうって個人的には思ってますね そうっすよね なんか変な命名とかではないんだけど そもそも英語をすんなり母語として理解できるほど 別に英語ができるわけではないので 何を言ってるのかを 断片的な英語と限られたソースコードから ちゃんと具体的な内容を想起するって めちゃめちゃ能力として難しいことを要求されてる気がするんで 確かに比較的英語 そんなに抵抗ないほうではあると思うんですけど 英語で書かれるとマジで何言ってるかよくわかんないですって そうっすよね そのプログラムの挙動を表す超適切な英単語が見つかったとして それがみんながパッと見てわかんない単語だったら それを採用するかどうかをまず考えるし めっちゃありますねそれは そういうことがあるんで この言語のギャップがある以上コメントは 無しにするのはちょっとないかな そうですよね コメントを書くか書かないかってことが別に本質ではないというか 実現したいことのやりたいことなんだっけみたいなところであると思うんで 確かに 一方であれですよね コメントが多すぎると コメントとソースコードのギャップとかも変更によって生まれてったり サービスが大きくなって 何が真実なんだっていうようなのもあるから そこら辺は結構難しいから やっぱり何を残して何を残さないんだっけとか そこら辺は結構大事なのかなと思ってました 何をしているかは書くなっていう 理由を書くのはそうなんですけど なぜそうしなかったのかを書けっていう話はよくありますよね 確かに 最近はそれを僕も せんちゃんが言ってたのを 盗み引きして どこで言ってましたっけ 盗み引きして なんかとりあえず確かにそうかもなって 直感的にはこういうコードを絶対書かないけど書いてるんだったら 確かに説明を欲しいなというか コーディングシステムのドキュメントに僕が書いたやつだ そういうのは結構あるなって 日本だとT和田さんが有名ですね そうですよね確かに これに関しては そこら辺の書籍とかちょろっと見た時に 見たようなことがおっしゃってたような気がしてたんだよ 順番は逆ですね 僕が真似してます 王道のところを勉強してきたというか 確かに っていう感じですかね 人間だけがプログラムを書いてた時は 全然ないじゃんっていうところから 最近はAIが書くようになって冒頭の めっちゃ書いてくれるんだけど意味がわからないとか 日本語として変とか 逆向きの課題が出てきた 気持ち的には個人的な勝手の願望なんですけど そこは何とかAI側も頑張ってほしいというか そこに僕らが苦悩して いろいろあれこれやるのは 一時的にはしょうがないというのは分かりつつも 技術的に解決してほしいなという気持ちの方が強いですね さすがに時間の問題だと思いますけどね 僕もそうかなと信じて今 逐一直してます ちょっと今日の時間を挟んでます さっき言ってたコードとコメントが乖離する問題とかは 割とAIが勝手に直してくれるようになったんで 確かにそうですよね どのAIを使うかによって 一目散に該当箇所だけは直してくるやつとかはいますけど こっちも一緒に直してよという気持ちになることはあります 最近だとクロードコードとGodeX両方使ってると GodeXの方が割とピンポイントで 直せって言われたとこだけが直してくるので 年によっても特徴があったりして 気はしますね 広くコードを見てくれるようになってる気がするんで 複数箇所変更しなきゃいけない時とかも 割とあれしたりとか勝手に修正してくれたりとか あと5時とかも結構指摘してくれるというか 直しときましたみたいなのも結構ありますよね いろいろイライラをしますけど 昔よりはマジ これは昔手作業で全然やってたんだろうなと思うと でもやってないんですよ そうですよねやりきれないからやられない 今はAIがある程度全部見てくれてるだろうというところがあるから 細かいところが気になってるんだろうなというのはありますけど 確かにここら辺はいい感じにするツールが そろそろ出てきてくれると嬉しいなというのはありますね 待つだけです 待ちながらコメントを修正していくみたいな そんなところですかね コメントにはこだわって 無駄なコメントをいかに削るかということを 端的に分かりやすい表現に変えられないかというのを追求してますね それも逐一直させるというか いい感じの指示でちょうど良いぐらいのが大体出てくるように そうですね 調整するのもいいですね めちゃめちゃわかり味あるあれでした ありがとうございます もっと見る #senchan #tomo voi-chordVoicyエンジニア09:011.チャプター 109:332.チャプター 2コメント感想・質問・応援メッセージを書こう ren_ta69月23日ちなみに自分が書くソースコードに対しては、私はコメントを割と書く派です。後のメンテする人が、ソース見れば分かりやすいようにしたいためです。1返信 ren_ta69月23日voi-chordの皆さん、こんにちは。初めてコメントさせて頂きます。いつもvoicyと言う素敵な場所を提供してくれて、ありがとうございます。さて、今回はコメントがテーマなので、voicyアプリについてコメントしてみました。主に「未聴」タブを使って聴いていますが、聴かなくても良いかなと思うものは、各チャプターの再生位置を終わりに合わせる操作をしています。これが意外に面倒で、「既聴済みにする」のようなボタンがあれば良いなと思ったりします。雑談時にでも皆さんと検討してみてください。1返信 Satoken9月23日「詳しいコメントを書こうとした時、負けを感じる」とは、潔いではないですか。某社の様に「『コメントなんて無くても理解できるコードを書け!』ここにはそれができる奴しかいないんだ!」という、若手がヒー!と叫ぶ様な会社を目指すのか?どうかはお任せします。1返信
「やらないことを決める」技術 20分・10月20日・ 50再生AI目次「やりたいこと」増加のジレンマ「捨てる勇気」を伴う学習優先度長年の習慣を断つ「将来性」基準後回しにしがちな「健康」への向き合い方効率的な時間の使い方「アジャイル」思考
日本と中国、メジャーアプリを比べてみた 21分・10月17日・ 73再生AI目次WeChatに見る中国アプリの多機能化写真SNS「レッドノート」の進化と競争Voicy類似アプリ「小宇宙」の放送形態「小宇宙」の収益モデルとVoicyとの違い中国アプリ市場、ユーザー体験重視の戦略
技術ワードトーク「リアーキテクト」 20分・10月13日・ 81再生AI目次リアキテクトとは?その定義と範囲アプリケーション全体最適化への道新アプリケーション「ノア」の背景責務の分離がもたらす開発効率格言の実践と名前への強いこだわり
最近何してるの? 22分・10月10日・ 76再生AI目次バックエンド刷新、AI活用で何が変わる?複雑なコードを分解、保守性向上の秘訣Voicyアプリ刷新、QAチームの戦い10年サービスの機能漏れを防ぐQAの眼新アプリ先行体験、リスナーへのサプライズ
最近のAI活用事情/気になってるAIショートドラマとAIモデル 19分・10月3日・ 100再生AI目次AIが開発にもたらす効率化と脳疲労非エンジニアもLP作成!AIの衝撃中毒性AIドラマ「紅果」が起こす現象判断を高速生成するAIモデルJevの衝撃コードコメントの未来とAIの役割とは
「休む」技術 20分・9月29日・ 79再生AI目次「休む技術」なぜこんなに難しいのか寝つきの悪さ克服術、その実態休日に何もせず「休む」ことの罪悪感エンジニアの止まらない知的好奇心無限の学びと健康への投資とは?
技術ワードトーク 「コードコメント」 19分・9月22日・ 79再生AI目次AI生成コメントの課題と未来コメントの歴史的変遷とその本質Google流コメント不要論の衝撃日本語コメント必須の背景とはAI時代の理想的なコメント戦略
What English Has to Offer (英語の魅力) 21分・9月19日・ 90再生AI目次Kubernetesドキュメントから学ぶ英語の美しさネイティブ英語を「添削」する独自の視点アウトプット力を高める「塊」表現の重要性英語嫌いを克服した英文解釈の深淵プログラミングを豊かにする英語活用の秘訣
後のメンテする人が、ソース見れば分かりやすいようにしたいためです。
初めてコメントさせて頂きます。
いつもvoicyと言う素敵な場所を提供してくれて、ありがとうございます。
さて、今回はコメントがテーマなので、voicyアプリについてコメントしてみました。
主に「未聴」タブを使って聴いていますが、聴かなくても良いかなと思うものは、各チャプターの再生位置を終わりに合わせる操作をしています。
これが意外に面倒で、「既聴済みにする」のようなボタンがあれば良いなと思ったりします。
雑談時にでも皆さんと検討してみてください。