実際こんなもんだよね。(ゲームブック風)

プログラミング言語を身につける唯一の方法
http://d.hatena.ne.jp/Hamachiya2/20090721/programming


1.風呂入ってるときに何かアイデアを思いつく

2.翌朝、とりあえず言語のお約束部分をコピペ
(例えばphpの場合は「<?php」と「?>」のところ)

3.絶対に必要な処理だけをまとめておいた外部ファイルを呼び出す
(改行コードの置換とかSQLインジョクション対策とかcookie環境変数サニタイズとか投稿データのデータ量リミットの規定とか)

4.作りたいものにどういう処理が必要なのかをコメントで箇条書きにする(改行を多めに取っておく)

5.処理の内容が・・・
A.「昔こんな処理したような気がする」とぼんやり思い出す [6へ]
B.今までやったことがない処理だった[7へ]


6.昔書いたスクリプトを探してみる
A.見つかった→コピペ→変数名などを修正する→ウマー[7へ]
B.探したけど見つからない→泣きながら車輪の再発明をする[8へ]


7.一から書く必要がある部分の処理内容が・・・
A.なんか超むずかしそう(例:QRコードの生成とか)[9へ]
B.なんとかなりそう→さらに処理内容を詳しくコメントで先行書きしておく[8へ]


8.この処理どうすんだべか・・・
A.リファレンスの目次か索引から探す[18へ]
B.Googleで「言語名+処理内容」で検索(例:「php urlエンコード」で検索)[17へ]


9.Googleでライブラリみたいなものを探す(例:「php QRコード 生成」で検索)
A.あった[12へ]
B.ない[10へ]


10.同じような処理をしているページを探す
A.あった→スクリプトをダウンロード[12へ]
B.ない[11へ]


11.その処理はその言語じゃ不可能かも
GAME OVER


12.サンプルを走らせてみる
A.動いた[14へ]
B.動かない・・・→設定変更で動く[14へ]


13.ダウンロードしたスクリプトの中身を見せてみる
A.なんとか内容が理解できそう[14へ]
B.わっけわかんね[16へ]


14.改造してみる
A.派手に改造してみる[15へ]
B.地味にいじってみる[18へ]


15.動かなくなった
GAME OVER


16.デザインは不満だけどなんとか目的のことができるようになった
でもこれ自分で作ったものとは言いたくないよなあ・・・

GAME OVER


17.関数のパラメータがわからない
A.言語名+関数名でぐぐる(例:「php split」で検索)[18へ]
B.リファレンス本の索引から調べる[18へ]


18.飽きてきた・・・
A.途中で「print "ここまでおk";」とか書いて実行してみる[19へ]
B.意地で続ける[24へ]
C.ふて寝する[20へ]


19.なんか知らんが動かない
A.意地で続ける[24へ]
B.ふて寝する[20へ]


20.次の日の朝もう一度考えたらあっさり解決[22へ]


21.実行したら・・・
A.エラーが出る→泣きながら直す[22へ]
B.うまくいく→喜びの舞を踊ってからコーヒーを飲む[22へ]
C.あきらめて別なやり方を探す[8へ]


22.完成→実行
A.バグ発見→泣きながら直す[23へ]
B.動いた[23へ]


23.完成時にマタニティブルーみたいな現象が起こる
A.もうちょっと完成度を高める[24へ]
B.強引に公開する[25へ]


24.急速に飽きて放置→お蔵入り
GAME OVER


25.公開
A.人気が出た→またなんか作る[2へ]
B.人気が出ない→あきらめてまたなんか作る[2へ]


なんかループのバグとかありそうな日記だ・・・。