Slide 1

Slide 1 text

日本語識別子の必要性 LT版

Slide 2

Slide 2 text

識別子の重要性  識別子は重要です  例えば、名著と名高いCode Completeでは、 変数の識別子名に一章当てています  ほか、クラス名やメソッド名にもページを割いて います

Slide 3

Slide 3 text

Code Completeで推奨されている識 別子名  解読しやすい  読めば分かるので解読する必要もない  例:  numberOfPeopleOnTheUsOlympicTeam  maximumNumberOfPointsInModernOlympics  checkTotal  currentDate  linesPerPage  これは誤訳ではないでしょうか?

Slide 4

Slide 4 text

日本人読者が読む日本語の技術書  この例は、わかりやすさの程度を伝えるのに適切か?  numberOfPeopleOnTheUsOlympicTeam  maximumNumberOfPointsInModernOlympics  checkTotal  currentDate  linesPerPage  作者が伝えたかったわかりやすさはこちらでは?  アメリカオリンピックチームの人数  近代オリンピックでの最高点  小切手の総額  現在日付  ページあたりの行数 ⇒英語圏ではみんな、下の例くらいわかりやすくしなくてはな らないのだな、と思って読んでます

Slide 5

Slide 5 text

日本語識別子の例 public IActionResult 削除する(ホームInputModel 入力) { var モデル = Getモデル(入力); モデル.入力 = 入力; モデル.単語帳 = (from 項目 in モデル.単語帳 where 項目.単語 != 入力.削除される単語 select 項目 ).ToArray(); Setセッション(モデル); return View("索引", モデル); } public IActionResult 単語帳学習を始める() { var モデル = Getセッション<ホームViewModel>(); if (モデル == null) { return View(); } Setセッション( new 単語帳学習状態 { 問題 = from 項目 in モデル.単語帳 select new 問題 { 正解済み = false, 単語 = 項目.単語, 意味 = 項目.意味 } }); return RedirectToAction("索引", "単語帳学習"); }

Slide 6

Slide 6 text

世界での、母国語を使った識別子 の利用  英語圏(アメリカなど3億5千万人) ⇒母国語を使って当たり前 むしろ、使わないという選択肢が存在しない  英語公用語圏(インドなど14億)  多くの国は子供のころから英語を使っているらしい (特にインド)  ヨーロッパ圏(フランス・ドイツなど)  プログラムの学習時に英語識別子使っていると思い ます?  印欧語族圏は英語を覚えるのも簡単  母国語と同じように使える人が多い 変数名が小学生に簡単にわかって当たり前、と思って いないのは、日本人など上記以外の人だけですよ?

Slide 7

Slide 7 text

識別子の重要性  識別子は母国語で話すようにわかりやすくな いといけない  日本人だけがそれをわかっていない  いいの?  オブジェクト指向の「すべてのものがオブ ジェクト」なんかにも深くかかわる  現実をなるべくそのまま表す  オブジェクト指向の利点の一つであり、理解でき ない人が多いところでもある  母国語でやらないとあまり意味がない

Slide 8

Slide 8 text

プログラム教育  せめてオブジェクト指向を使えるように なるまで  日本語でやってみると全然違う  一度覚えればその後は英語でもなんとかな る?  プログラムの複雑さは論文に劣るものではな いが、日本語の論文書いたことがない上に英 語があまり話せない人に、まず英語で論文書 くのを覚えろというのはむちゃでは?

Slide 9

Slide 9 text

状況は厳しいですけどね  日本語識別子に親でも殺されたんかとい う人が数多く  こことか  コメント欄は賛同が多いのであるいはそろそ ろ?  アメリカのプログラマーと比較して生産 性や品質が何割かは違っているんじゃ?  日本語識別子の普及は私のライフワーク  一生無理かもという意味

Slide 10

Slide 10 text

せめて教育には使って  日本のプログラム業界が本気で心配  オブジェクト指向の理解がひときわ難しくなって いる  せめて、納品とか必要ない練習用に1割か2 割は日本語識別子を使ってみよう  どうしても日本語が使いたくないなら識別子 つけるのに辞書を引くこと  類義語も全部調べて適切なものを選ぶ  母国語を使う人はそのくらいの推敲は辞書引かな くてもやっている

Slide 11

Slide 11 text

日本語識別子以外の方法  いや、英語を母国語並みにすらすら読め るようになるほうがいい、って言うなら それでもいいですけどね  大事なのは、識別子を母国語並みに読めるよ うになることなので、別にそれでも全然かま わない  ただ、言った以上は実現してね。  自分だけじゃなくてチーム全員が達成するの を目指さないといけないことも忘れないで