ソーシャルゲームの開発現場に入ってから、過去にない量のコードを書いている。
過去に働いていたウォーターフォール型の現場では2,3週間コードを1行も書かない日が続くなんてことはザラにあったのだが、ここ数年は3日連続でコードを書かかなかった記憶はほぼない。
夏休み、正月休みなどでも結局何かしらのコードは書いているし・・・
別に愚痴を言っているわけではなく「コードを書いている時間=至福の時間」の自分にとっては、これ以上ない幸せな現場で働かせて頂いている。
さて、そのようにほぼ毎日コードを書いていると、色々と気付くことがある。
下記はあくまでもワタクシ個人の場合であって、プログラマーを代表しての発言ではないことを先にお伝えしておきます。
コードを書く際に重要なのは、脳内メモリだ。
これから書くコードの内容、重要なポイント、気をつけなければならない点などを過去の記憶やPC上のドキュメントなどから呼び出して脳内メモリに展開し、それからコーディングを開始する必要がある。
この作業が実はとても重要で、良い感じにメモリに展開できればかなりのハイスピードでコードを書き続けることができるのだが、上手く展開できないときは、いちいち脳内ハードディスクの『記憶』領域やPC内、ネット上のドキュメントにアクセスしなければならないので、著しくスピードが落ちる。
逆にこのメモリ展開が上手く言った時などは、自分のようなヘボ脳内CPUの持ち主でもタイピングが追いつかないレベルでコードが浮かんでくる。
なので、この『脳内メモリ展開』さえ上手くいってくれれば常にハイパフォーマンスを発揮できるわけだが、これがなかなか難しい。
脳内メモリはメモリなので、容量が少なく、上書きされやすい。
ようするに、外部からの割り込み処理に極めて弱いのだ。
このあたりが自分が自宅作業が苦手な理由でもあるのだけど、せっかく色々な情報を脳内メモリに展開でき、「さーこれからコーディング!!」となったあたりで話しかけらるなどの外部からの割り込み処理があると、せっかくの脳内メモリが上書きされてしまう。
で、また新たに展開できたころにさらに割り込み処理が起こる。
なんてことが繰り返されると、さすがに心が折れてくる。
また、もう一つ、この脳内メモリ型コーディングの問題点としては、自分が書いたコードを忘れやすいということがある。
「実装したと思っていた機能を実装していなかった」
というのならまだ分かるのだが、それなりにやっかいな処理をバッチリ書いたのに、そのことがさっぱり記憶になく、後になって「あれっ?できてるじゃん!!」と驚いたことは過去に何度もある。
というわけで、色々と問題点があるコーディング技法?なのだけど、自分としてはこれ以外のやり方を持っていないので、引き続き頑張りますよー。
ただ、さすがにコードを書いたことをすっかり忘れているというのは色々な意味で危険ではあるので、何かしら対策を考えます・・・