SlideShare a Scribd company logo
リーダブル
リーダブルコード

   2012年7⽉6⽇
      ⾓征典
 kdmsnr@gmail.com


        1/58
御礼
2012年7⽉5⽇10:47KOUKeikokeiko@oreilly.co.jpWrote:


     2週間⾜らずで4刷というのはすごい
   スピードです。




                          2/58
Ebook版は秋ごろ予定




     3/58
お詫び




 4/58
⾃⼰紹介



 @kdmsnr

   5/58
⾃⼰紹介訳書(1/2)
Martin Fowler's Bliki (2003)
    ↓
『アジャイルレトロスペクティブズ』 (2007)
    ↓
スクラムガイド (2010)
    ↓
『メタプログラミングRuby』 (2010)
    ↓
『ウェブオペレーション』 (2011)
    ↓
『Facebookマーケティング』 (2011)
    ↓

                6/58
⾃⼰紹介訳書(2/2)
   ↓
『Clean Coder』 (2012)
   ↓
『リーダブルコード』 (2012) ←【イマココ】
   ↓
『Service Design Patterns』 (2012)
   ↓
『Seven Databases in Seven Weeks』 (2012)
   ↓
『Running Lean』 (2012)
   ↓
『...』(2012?)

                   7/58
TheArtof
ReadableCode




      8/58
『リーダブルコード』
     これはもう「翻訳放棄」と⾔ってもよ
   いレベルですねぇ。⾮道過ぎます。

http://twitter.com/ytaniike/status/211060068035207170

                 違うよ。全然違うよ。




                         9/58
リーダブルコードの理由
  タイトルは、あえて『 リーダブルコー
ド』にした。これは「リーダブルコード 」
という聞きなれない⾔葉にすることで、読
んだ⼈に「リーダブルコード 」というもの
について注意して欲しいからだ。

http://www.clear-code.com/blog/2012/6/11.html


                     10/58
続リーダブルコードの理由
   「リファクタリング 」という⾔葉を使
 っていて、「コードをよくすること」がよ
 り当たり前になっている。それと同じよ
 うに、読みやすいコードを⾒たら「リーダ
 ブルでいいね!」ということが⾃然に⾔わ
 れるようになるといい。

 http://www.clear-code.com/blog/2012/6/11.html

                      11/58
名前重要
      リーダブルコードは本のタイトルで勝
    ちだよなぁ。(中略)どんなコード⽬指し
    てるかすぐわかるし。

http://twitter.com/chiastolite/status/219793852087808003
           誰だか知らないけどありがとう!!!!



                          12/58
じゃあ、どんなコード?
  リーダブルコードの基本定理

  コードは他の⼈が最短時間で理解でき
るように書かなければいけない。(p.3)




          13/58
ハァ?なんで?
「コードのよさは重要だ」は危うい前提

  読むに耐えないコードが⼤⾦を稼いで
いる場⾯を散々⽬にしてきたので、商業的
に成功したり、広く活⽤されたりするう
えで、コードの品質が必要だとも、それさ
えあれば⼗分だとも思えないからだ。

    『実装パターン』KentBeck
           14/58
でもやるんだよ!
 ……誇りの持てない仕事で無駄にする
時聞はない。よいコードを書くこと⾃体が
喜びであり、そのコードを他の⼈が理解し
、評価し、使⽤し、拡張してくれれば、さ
らに喜びは増す。

    『実装パターン』KentBeck


           15/58
2章名前に情報を詰め込む



      16/58
名前をつけるのは難しい
 簡単に誤解・誤読されちゃう!

  変数の名前を決定する際には、最初の
⼦供の名前を決めるときと同じくらいの配
慮が必要なのです(JimCope)

   『CleanCode』RobertC.Martin



               17/58
本章のアドバイス
明確で具体的な単語を選ぶ
汎⽤的な名前は避ける
単位や情報を名前に追加する
スコープの⼤きさを考慮する
フォーマット規約を使う

       18/58
最も基本的なこと
  式は⾃分で⾳読するつもりで書こう。

『プログラミング作法』BrianKernighan,RobPike


  発⾳可能な名前を使⽤する。

     『CleanCode』RobertC.Martin


                 19/58
retval(何て読むの?)
     汎⽤的な名前を避ける(p.12)

var eulidean_norm = function(v) {
    var retval = 0.0;
    for (var i = 0; i  v.length; i += 1) {
        retval += v[i] * v[i];
    }
    return Math.sqrt(retval);
}


                    20/58
[ネタ]詠太2で⾳読する
http://www.justsystems.com/jp/products/ichitaro/feature6.html

            ※Windowsじゃないと動きません。




                           21/58
読み⼿のことを考える
  相⼿を意識したときに、よい⽂章が⽣
まれるように、よいプログラムも読み⼿を
意識したときに⽣まれる。

    『実装パターン』KentBeck




           22/58
とは⾔っても、難しいよ



     23/58
5章コメントすべきこと



     24/58
必要なことはコードに書く
  私はだらしのないプログラマなので、
⾃分が担当したコードが、どのように書か
れていたのかまったく覚えていません 。…
…私は常に、覚えておくべき情報をコード
内に書き込んでおくことにしているので、
わざわざ覚える必要がないのです。

   『リファクタリング』MartinFowler

             25/58
コードがドキュメントだ
  ※写真はイメージです。




       26/58
でも、ないものは⾒えない
コミットする前のコード
使わなかった選択肢
却下された要望や提案
これからやること


       27/58
監督コメンタリー
       p.60
映画DVDの特典のように
説明・思い・裏話をコメントに書く
うまくいかなかったことも書く
疑問を先回りして埋めておく

        28/58
理由重要
  ⼈に何かを頼み事をするときには理由
を添えた⽅が成功しやすくなる

『影響⼒の武器[第⼆版]―なぜ、⼈は動かされるのか』




            29/58
理由は何でもいいらしい
◯すみません……急いでいるので、
先にコピーをとらせてくれませんか
?
×すみません……先にコピーをとら
せてくれませんか?
『影響⼒の武器[第⼆版]―なぜ、⼈は動かされるのか』



            30/58
「なんとなく」が⼀番困る
「どうしてこうなってるんですか?」
「なにがですか」
「ここのコードが」
「ああ、なんとなくですよ」
「えっ」
「えっ」
「……」
「……」




            31/58
こじつけでも、つじつまが
合えばそれにこしたことは
    ない!!


     32/58
思考の断⽚を刻む場所
(コードではないかもだけど……)
コミットの情報
 須藤先⽣の「解説」も参考に
 チケット駆動開発(Ref,Fix,Close)

ドキュメント
 ReVIEW(ステマ)
 http://github.com/kmuto/review
 Sphinx
               33/58
たいせつなTODO.md
  多くのデベロッパは、この種の観察作
業のために簡単なtodoリストを作って
いる。

 『テスト駆動JavaScript』ChristianJohansen




                 34/58
TODO.mdの例
# 商品関連
* 在庫のトランザクション。楽観的ロックでいいの?

#   管理画⾯
*   Admin::ApplicationControllerにBasic認証
*   Twitter Bootstrap使うかもしれない
*   ■ Deviseのカスタマイズ → できたけど微妙

# 画像リサイズ
* ■ RMagicでやる → できた!



                     35/58
ドキュメント読まれないし
それでも「ポステルの法則」を参考に

  受信するものには寛容に、送信するも
のには慎重に

 http://ja.wikipedia.org/wiki/ジョン・ポステル




                  36/58
12章コードに
 思いを込める



   37/58
アインシュタインの⾔葉
       p.158

  おばあちゃんがわかるように説明でき
なければ、本当に理解したとは⾔えない。




         38/58
テディベアやアヒルちゃん
    に説明してみる(p.165)




『プログラミング作法』や『達⼈プログラマ』にも記述がある

             39/58
説明内容をコメントに書く
      (すごく⼿続き的だけど)
# originalディレクトリのhtmlファイルから

# code.literalの要素を削除する
# (ってか、Nokogiriの使い⽅わからねえ)

# それから、ファイルをテキスト形式に置き換えて

# ワード数を数える



               40/58
その下にコードを書く
# originalディレクトリのhtmlファイルから
Dir.glob(original/*.html).each do |html|
  doc = Nokogiri.HTML open(html)
  # code.literalの要素を削除する
  # (ってか、Nokogiriの使い⽅わからねえ)→できた
  doc.search(//code[@class='literal]).remove
  # それから、ファイルをテキスト形式に置き換えて
  text = doc.css(body).text
  # ワード数を数える
  wc = text.split.size
end


                    41/58
整形する
def count_word_in_html_files
  word_count = 0
  Dir.glob(original/*.html).each do |html|
    doc = Nokogiri.HTML open(html)
    doc.search(//code[@class='literal]).remo
    text = doc.css(body).text
    word_count = text.split.size
  end
  return word_count
end



                    42/58
説明とコードを可逆に
あまり⼤きなリファクタリングはしない

  読む側の少し上を⾏くのはよいが、あ
まり複雑すぎると、相⼿にされなくなって
しまう。

    『実装パターン』KentBeck



           43/58
例:本体のないif⽂
              p.159
//   権限があるのは、以下の2つ
//   1) 管理者
//   2) ⽂書の所有者(⽂書がある場合)
//   その他は、権限がない。




                44/58
例:本体のないif⽂
            p.159
// 権限を確認する
if (is_admin_request()) {
    // 1) 管理者は権限あり
} else if (...) {
    // 2) ⽂書の所有者は権限あり(⽂書がある場合)
} else {
    // その他は、権限がない。
   return not_authorized();
}


              45/58
⾃分の思いを込める前に
  その分野ですでにどんなことが解明さ
れているかを調べてみなければならない。
さもないと、優れた⼿法がすでに存在す
るのに、⾃⼰流の下⼿なやり⽅を考案する
のに時間を無駄にするはめになるからだ。

『プログラミング作法』BrianKernighan,RobPike


                 46/58
例えば、どういうふうに?



     47/58
13章短いコードを書く



     48/58
APIをぜんぶ読む
                     p.172

    yugui:Javaを覚えるとき『プログラミ
  ング⾔語Java』を読んで、それからリファ
  レンスマニュアルを頭から全部読みまし
  た。

http://www.atmarkit.co.jp/news/200907/24/ruby2.html


                        49/58
不要な要求を削除する
              p.168

  DOorDONOT.ThereisnoTRY.
やるか、やらぬかじゃ。試しなどいらん。

ヨーダの⾔葉(『CleanCoder』RobertC.Martin)




                 50/58
[余談]試しにやってみる
  「試しにやってみる」は前向きな感じ
がする。でも、それで何か「できた」ので
あれば、それまで⼒を温存していたことに
なる。

   『CleanCoder』RobertC.Martin



                51/58
あれ?
  だんだん
コードの話から
 離れてきた




   52/58
名著を読もう!
  p.218




   53/58
リーダブルコード
もよろしくお願いします。




     54/58
ぼくのかんがえた
 さいきょうの
リーダブルコード


   55/58
やり⽅
1. みんなでコードについて話し合う
2. 須藤先⽣の「ぼくならこう書く」
3. 質疑応答
   ※これを3ラウンド繰り返します。




          56/58
お題
0.   github.com/dproject21/yaruo_tdd_triangle
1.   github.com/mataki/fast_spork_runner
2.   github.com/randym/axlsx
3.   github.com/todesking/okura

          ※「0」のお題でやり⽅を説明します。




                      57/58
ENJOY!!




   58/58

More Related Content

What's hot

継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキングTakayuki Kondou
 
OpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasualOpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasual
Yuji Kubota
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Hitoshi Kurokawa
 
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Taku Miyakawa
 
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
 
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
Yuji Kubota
 
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
torutk
 
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみたレビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
Takhisa Hirokawa
 
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
Hiroki Tamiya
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
Hiro Yoshioka
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウchancelab
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
y-uti
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
Uchio Kondo
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Mr. Vengineer
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係
yy yank
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
 

What's hot (20)

継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
OpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasualOpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasual
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
 
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語
 
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
 
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
 
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
 
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみたレビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
 
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウ
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
 

Viewers also liked

闇深めだったサービスのスタイルガイド作成までの真実
闇深めだったサービスのスタイルガイド作成までの真実闇深めだったサービスのスタイルガイド作成までの真実
闇深めだったサービスのスタイルガイド作成までの真実
Yuriko Okabe
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
 
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
Shohei Okada
 
とにかく楽してVue.jsでTypeScriptを使いたい
とにかく楽してVue.jsでTypeScriptを使いたいとにかく楽してVue.jsでTypeScriptを使いたい
とにかく楽してVue.jsでTypeScriptを使いたい
さくらインターネット株式会社
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
スタートアップの失敗を90%減らす10のポイント
スタートアップの失敗を90%減らす10のポイントスタートアップの失敗を90%減らす10のポイント
スタートアップの失敗を90%減らす10のポイント
Masa Tadokoro
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
yoku0825
 
エンジニアのための経営学
エンジニアのための経営学エンジニアのための経営学
エンジニアのための経営学
Michitaka Yumoto
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
nishio
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 

Viewers also liked (10)

闇深めだったサービスのスタイルガイド作成までの真実
闇深めだったサービスのスタイルガイド作成までの真実闇深めだったサービスのスタイルガイド作成までの真実
闇深めだったサービスのスタイルガイド作成までの真実
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
 
とにかく楽してVue.jsでTypeScriptを使いたい
とにかく楽してVue.jsでTypeScriptを使いたいとにかく楽してVue.jsでTypeScriptを使いたい
とにかく楽してVue.jsでTypeScriptを使いたい
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
スタートアップの失敗を90%減らす10のポイント
スタートアップの失敗を90%減らす10のポイントスタートアップの失敗を90%減らす10のポイント
スタートアップの失敗を90%減らす10のポイント
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
 
エンジニアのための経営学
エンジニアのための経営学エンジニアのための経営学
エンジニアのための経営学
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 

Similar to 20120706-readablecode

触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
asa88
 
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
Hiro Yoshioka
 
Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
Blenderソースコードリーディング
Tetsuo Mitsuda
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
 
201207 ssmjp
201207 ssmjp201207 ssmjp
201207 ssmjp
th0x0472
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxKouhei Maeda
 
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
 
Programming camp code reading
Programming camp code readingProgramming camp code reading
Programming camp code reading
Hiro Yoshioka
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
 
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49shoma h
 
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011PHPカンファレンス関西 2011
PHPカンファレンス関西 2011Takako Miyagawa
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
Atsushi Nakamura
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
信之 岩永
 
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
LINE Corporation
 
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
Shinnosuke Tokuda
 
TokuDB試してみる
TokuDB試してみるTokuDB試してみる
TokuDB試してみる
yoku0825
 
最速C# 7.x
最速C# 7.x最速C# 7.x
最速C# 7.x
Yamamoto Reki
 

Similar to 20120706-readablecode (20)

触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
 
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
 
Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
Blenderソースコードリーディング
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
201207 ssmjp
201207 ssmjp201207 ssmjp
201207 ssmjp
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
 
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
Programming camp code reading
Programming camp code readingProgramming camp code reading
Programming camp code reading
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 
java-ja TDD 2nd
java-ja TDD 2ndjava-ja TDD 2nd
java-ja TDD 2nd
 
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
 
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011PHPカンファレンス関西 2011
PHPカンファレンス関西 2011
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
 
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
Flutterで単体テストを行う方法とGitHub Actionsを使った自動化
 
TokuDB試してみる
TokuDB試してみるTokuDB試してみる
TokuDB試してみる
 
最速C# 7.x
最速C# 7.x最速C# 7.x
最速C# 7.x
 

More from Masanori Kado

優れた研究提案書の書き方
優れた研究提案書の書き方優れた研究提案書の書き方
優れた研究提案書の書き方
Masanori Kado
 
優れた研究論文の書き方
優れた研究論文の書き方優れた研究論文の書き方
優れた研究論文の書き方
Masanori Kado
 
Tokyo-Tech 2017 EDP-A #3 Prototype and Test
Tokyo-Tech 2017 EDP-A #3 Prototype and TestTokyo-Tech 2017 EDP-A #3 Prototype and Test
Tokyo-Tech 2017 EDP-A #3 Prototype and Test
Masanori Kado
 
2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」
2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」
2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」Masanori Kado
 
Tokyo-Tech 2017 EDP-A #2 Ideate & Prototype
Tokyo-Tech 2017 EDP-A #2 Ideate & PrototypeTokyo-Tech 2017 EDP-A #2 Ideate & Prototype
Tokyo-Tech 2017 EDP-A #2 Ideate & Prototype
Masanori Kado
 
Tokyo-Tech 2017 EDP-A #1 Team Building
Tokyo-Tech 2017 EDP-A #1 Team BuildingTokyo-Tech 2017 EDP-A #1 Team Building
Tokyo-Tech 2017 EDP-A #1 Team Building
Masanori Kado
 
プロトタイピングとユーザーテスト
プロトタイピングとユーザーテストプロトタイピングとユーザーテスト
プロトタイピングとユーザーテスト
Masanori Kado
 
実践リーンエンタープライズ(20161027)
実践リーンエンタープライズ(20161027)実践リーンエンタープライズ(20161027)
実践リーンエンタープライズ(20161027)
Masanori Kado
 
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
Masanori Kado
 
データからインサイト そして、アイデアの発想へ(KJ法)
データからインサイト そして、アイデアの発想へ(KJ法)データからインサイト そして、アイデアの発想へ(KJ法)
データからインサイト そして、アイデアの発想へ(KJ法)
Masanori Kado
 
データからインサイト そして、アイデアの発想へ(タスク管理)
データからインサイト そして、アイデアの発想へ(タスク管理)データからインサイト そして、アイデアの発想へ(タスク管理)
データからインサイト そして、アイデアの発想へ(タスク管理)
Masanori Kado
 
20160924 edp-b teambuilding
20160924 edp-b teambuilding20160924 edp-b teambuilding
20160924 edp-b teambuilding
Masanori Kado
 
中高生のための夏休みプログラミング教室
中高生のための夏休みプログラミング教室中高生のための夏休みプログラミング教室
中高生のための夏休みプログラミング教室
Masanori Kado
 
hacku-titech-2016-briefing
hacku-titech-2016-briefinghacku-titech-2016-briefing
hacku-titech-2016-briefing
Masanori Kado
 
ideathon 20160325
ideathon 20160325ideathon 20160325
ideathon 20160325
Masanori Kado
 
The Lego Scrum Awakens
The Lego Scrum AwakensThe Lego Scrum Awakens
The Lego Scrum AwakensMasanori Kado
 
デザイン思考のためのアイスブレイク
デザイン思考のためのアイスブレイクデザイン思考のためのアイスブレイク
デザイン思考のためのアイスブレイク
Masanori Kado
 
アジャイル開発のススメ@香川大学
アジャイル開発のススメ@香川大学アジャイル開発のススメ@香川大学
アジャイル開発のススメ@香川大学
Masanori Kado
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
Masanori Kado
 
改善の型 コーチングの型
改善の型 コーチングの型改善の型 コーチングの型
改善の型 コーチングの型
Masanori Kado
 

More from Masanori Kado (20)

優れた研究提案書の書き方
優れた研究提案書の書き方優れた研究提案書の書き方
優れた研究提案書の書き方
 
優れた研究論文の書き方
優れた研究論文の書き方優れた研究論文の書き方
優れた研究論文の書き方
 
Tokyo-Tech 2017 EDP-A #3 Prototype and Test
Tokyo-Tech 2017 EDP-A #3 Prototype and TestTokyo-Tech 2017 EDP-A #3 Prototype and Test
Tokyo-Tech 2017 EDP-A #3 Prototype and Test
 
2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」
2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」
2017-07-19 エンタープライズアジャイル勉強会「リーンエンタープライズ」
 
Tokyo-Tech 2017 EDP-A #2 Ideate & Prototype
Tokyo-Tech 2017 EDP-A #2 Ideate & PrototypeTokyo-Tech 2017 EDP-A #2 Ideate & Prototype
Tokyo-Tech 2017 EDP-A #2 Ideate & Prototype
 
Tokyo-Tech 2017 EDP-A #1 Team Building
Tokyo-Tech 2017 EDP-A #1 Team BuildingTokyo-Tech 2017 EDP-A #1 Team Building
Tokyo-Tech 2017 EDP-A #1 Team Building
 
プロトタイピングとユーザーテスト
プロトタイピングとユーザーテストプロトタイピングとユーザーテスト
プロトタイピングとユーザーテスト
 
実践リーンエンタープライズ(20161027)
実践リーンエンタープライズ(20161027)実践リーンエンタープライズ(20161027)
実践リーンエンタープライズ(20161027)
 
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
 
データからインサイト そして、アイデアの発想へ(KJ法)
データからインサイト そして、アイデアの発想へ(KJ法)データからインサイト そして、アイデアの発想へ(KJ法)
データからインサイト そして、アイデアの発想へ(KJ法)
 
データからインサイト そして、アイデアの発想へ(タスク管理)
データからインサイト そして、アイデアの発想へ(タスク管理)データからインサイト そして、アイデアの発想へ(タスク管理)
データからインサイト そして、アイデアの発想へ(タスク管理)
 
20160924 edp-b teambuilding
20160924 edp-b teambuilding20160924 edp-b teambuilding
20160924 edp-b teambuilding
 
中高生のための夏休みプログラミング教室
中高生のための夏休みプログラミング教室中高生のための夏休みプログラミング教室
中高生のための夏休みプログラミング教室
 
hacku-titech-2016-briefing
hacku-titech-2016-briefinghacku-titech-2016-briefing
hacku-titech-2016-briefing
 
ideathon 20160325
ideathon 20160325ideathon 20160325
ideathon 20160325
 
The Lego Scrum Awakens
The Lego Scrum AwakensThe Lego Scrum Awakens
The Lego Scrum Awakens
 
デザイン思考のためのアイスブレイク
デザイン思考のためのアイスブレイクデザイン思考のためのアイスブレイク
デザイン思考のためのアイスブレイク
 
アジャイル開発のススメ@香川大学
アジャイル開発のススメ@香川大学アジャイル開発のススメ@香川大学
アジャイル開発のススメ@香川大学
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
 
改善の型 コーチングの型
改善の型 コーチングの型改善の型 コーチングの型
改善の型 コーチングの型
 

Recently uploaded

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 

Recently uploaded (14)

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 

20120706-readablecode