目次
- 時間を費やすこと
- 核となる部分を追っていく
- 行動ルーチン
- ライブラリとキーバインドとキーボードショートカット
1. 時間を費やすこと
- プログラミングにおいて2年ぐらい前からずっと意識してる唯一のことが、元もこもないことだが「時間を費やすこと」。
- ”プログラマと一般人の違いは、読んできたソースコードの量が圧倒的に違う”という言葉が印象に残ってる。
- 時間さえ費やしてれば、自然と楽しみ方を探るようになる
2. 核となる部分を追っていく
- ソースコードを目の前にしたときに特に重要だと思うのが「核となる部分を追っていく」こと
- 50行あったらだいたい一番下の方に一番重要な1行があって、その1行のために残りの49行が上にある(引数の用意やエラー処理)
3. 行動ルーチン
- Githubで「こういうの作れるようになりたい」と思うソースコードを探す、具体的には
- Star Display: マリオ64のスター取得状況を表示
- Quad64: マリオ64のレベルビューアー
- SM64 ROM Manager: マリオ64の改造ツール
- sm64ex: マリオ64のPC版
- SM64 Generations: ソニックのゲームでマリオを操作できる
- Project64: Nintendo 64エミュレータ
- 頑張ってビルドする
- 核となる部分を抜き出して模倣品を作る
- main関数からfrom scratchで手打ちしていくが、途中から面倒くさくなってコピペフェイズに入る
- 次の日、また一からやりたくなる(何も見ずにどこまで書けるか)
- 日をまたいでも前回の続きから始めると新たな境地に到達できる
- 1行書いてはデバッグ実行してエラーが出ないか確認
- 上から攻めていくのは自滅行為、必要性が分かったら初めて書く
- 3を10回ぐらい繰り返す
- カスタマイズしたくなり、他のライブラリを導入したり、他のソースコードを覗きに行く
4. ライブラリとキーバインドとキーボードショートカット
- ライブラリという存在の重要性
- Githubにあるソースコードを見るようになって初めてライブラリの関数がガンガン使われてることに気づいた
- 標準ライブラリのファイル操作や3DCGのOpenGLなど
- 知るべきことの量としてプログラミング言語が10なら、ライブラリは100
- ライブラリの検索や導入がワンクリックで済むC#とかのNuGetは神
- AutoHotKeyでキーバインドを変更
- カーソルキー -> 無変換 + jikl
- HOME, END, ENTER, BS -> 無変換 + u, o, ;, p
- Ctrl -> 変換
- F12(定義元にジャンプ) -> CAPS LOCK
- キーボードショートカット
- 単語選択: ctrl + w (visual studio), ctrl + d (vscode)
- 行複製: ctrl + d (visual studio)
- 行削除: ctrl + l (visual studio)
- 行移動: alt + カーソルキー
- 単語単位移動: ctrl + カーソルキー
- テキスト縦選択: shift + alt