$30 off During Our Annual Pro Sale. View Details »

君、プログラミング早いね / You write a program fast

nrs
December 13, 2018

君、プログラミング早いね / You write a program fast

プログラミングを早くするために、という LT です
プログラミングを早くするために何をすべきか、ステップアップ方式で解説しています。

HP: https://nrslib.com
twitter: https://twitter.com/nrslib

nrs

December 13, 2018
Tweet

More Decks by nrs

Other Decks in Programming

Transcript

  1. 君、プログラミング早いね
    と言われるために
    nrs @nrslib

    View Slide

  2. 君、プログラミング早いね

    View Slide

  3. 君、プログラミング早いね
    と、言われたことはありますか?

    View Slide

  4. 話す内容

    View Slide

  5. プログラミングを
    早くするための
    ステップ

    View Slide

  6. 対象者

    View Slide

  7. 君、プログラミング早いね
    と言われたことがない人

    View Slide

  8. それでは
    早速本題へ

    View Slide

  9. Step 1
    書いて覚える

    View Slide

  10. 教えているときの一コマ
    なんか
    遅いな

    View Slide

  11. 教えているときの一コマ
    覗いてみよう

    View Slide

  12. 教えているときの一コマ
    private という
    単語すら
    コピペしてる

    View Slide

  13. コピペは常に悪ではないけれど

    View Slide

  14. コピペは常に悪ではないけれど

    View Slide

  15. コピペは常に悪ではないけれど
    単語レベルなら書いた方が早い

    View Slide

  16. 構文はすらすら書けるまで
    ひたすら書いて
    トレーニングしよう

    View Slide

  17. Step 2
    綺麗に書く

    View Slide

  18. できましたー!! おー早いね!

    View Slide

  19. バグっとるやんけ

    View Slide

  20. 急いで書いたから・・・

    View Slide

  21. 急いで書くとバグるの?

    View Slide

  22. 急いで
    書いた
    完成までの時間→
    綺麗に
    書いた

    View Slide

  23. 急いで
    書いた
    完成までの時間→
    バグ修正
    バグ修正
    綺麗に
    書いた

    View Slide

  24. 急いで
    書いた
    綺麗に
    書いた
    完成までの時間→
    バグ修正
    バグ修正
    早い

    View Slide

  25. 急いで
    書いた
    綺麗に
    書いた
    完成までの時間→
    バグが起きなきゃ
    早いじゃん

    View Slide

  26. 綺麗に書くと
    遅い

    View Slide

  27. 綺麗に書くと
    遅い

    View Slide

  28. 綺麗に書くのに慣れていないから
    遅い

    View Slide

  29. 急いで
    書いた
    綺麗に
    書いた
    完成までの時間→
    慣れるとこうなる(当人比)
    バグ修正

    View Slide

  30. 綺麗に書いた経験は
    急いで書いた経験よりも
    貴重

    View Slide

  31. どんなときも
    自分ができる精一杯の
    綺麗なコードを書いて
    トレーニングしよう

    View Slide

  32. Step 3
    書き方を覚える

    View Slide

  33. プログラミングを
    遅くする原因は?
    Q.

    View Slide

  34. プログラミング中

    View Slide

  35. これはどこに
    書こうかな
    プログラミング中

    View Slide

  36. これはどこに
    書こうかな
    この書き方で
    いいのかな
    プログラミング中

    View Slide

  37. これはどこに
    書こうかな
    この書き方で
    いいのかな
    あの処理
    どこだっけ
    プログラミング中

    View Slide

  38. これはどこに
    書こうかな
    この書き方で
    いいのかな
    似たような
    処理ないかな
    あの処理
    どこだっけ
    プログラミング中

    View Slide

  39. プログラミングを
    遅くする原因は?
    Q.

    View Slide

  40. 迷い
    A.

    View Slide

  41. 迷いを無くす = 早くなる

    View Slide

  42. XXXXX のときは YYYYY する
    という引き出しを増やせば
    迷わなくなり早くなる

    View Slide

  43. 実装パターンについて学び
    原則について学び
    皆の書き方を見て学ぶ

    View Slide

  44. 実装パターンについて学び
    原則について学び
    皆の書き方を見て学ぶ
    Step 2 と平行しましょう

    View Slide

  45. Step 4

    View Slide

  46. ここまでのトレーニングをこなせば
    かなり早くなる

    View Slide

  47. でもまだ足りない

    View Slide

  48. 誰も追いつけない速度まで
    到達したい

    View Slide

  49. 指の速度には限界がある

    View Slide

  50. 指を使わない

    View Slide

  51. つまり

    View Slide

  52. Step 4

    View Slide

  53. Step 4
    プログラムをするプログラムを書く

    View Slide

  54. 似たような作業が何度も必要な
    コーディングは存在する

    View Slide

  55. 似たような作業が何度も必要な
    コーディングは存在する
    肩代わりするツールがあれば
    早く書ける

    View Slide

  56. ツールを作るのが大変?

    View Slide

  57. 入力を解釈してデータを出力する

    View Slide

  58. 入力を解釈してデータを出力する
    いつもの仕事と変わりはない

    View Slide

  59. ツールを作ると

    View Slide

  60. ツールを作ると
    Step 2 のトレーニングができる

    View Slide

  61. ツールを作ると
    Step 2 のトレーニングができる
    Step 3 で学んだことが実験できる

    View Slide

  62. 作成時間
    プログラミング ツール

    View Slide

  63. 作成時間
    プログラミング ツール
    何度も作って早く作れるようになろう

    View Slide

  64. ツールが間違ってたら?

    View Slide

  65. ツールが間違ってたら?
    間違い方に法則があるから楽

    View Slide

  66. これらを実践して

    View Slide

  67. 君、プログラミング早いね

    View Slide

  68. 君、プログラミング早いね
    言われるようになろう

    View Slide

  69. だから他の人より大量に
    仕事任せるね!
    君、プログラミング早いね
    !?

    View Slide

  70. Step 1 : 書いて覚える
    Step 2 : 綺麗に書く
    Step 3 : 書き方を覚える
    Step 4 : プログラムをする
    プログラムを書く

    View Slide

  71. Auther nrs
    HomePage https://nrslib.com
    Twitter @nrslib

    View Slide