私は趣味でPHPを使ったプログラミングの勉強をしています。
初心者向けの参考書や他人のコードを読んで勉強しています。
私は覚えが悪いのかあまりコードを覚えることができず、取得したコードはevernoteに保存しています。何かWEBサイトを作るときは、evernoteにあるコードを組み立てて作成するといった状態です。
こんな状態で勉強を続けてもプログラマーとして働いていけるのか不安になります。
みなさんの作業の仕方を教えてください!
むしろ、何も見ない方が稀です。
コードを書き始める時は予めストックしてあるテンプレや、適切なものが無ければネット上からサンプルを引っ張ってきて使います。開発ツールによっては、ウィザードを使って作成してしまうこともあります。
ライブラリのレファレンスは常に開いておいてすぐに検索できるようにしてありますし、開発ツール自体も関数の候補表示がされるように設定してあります。
もちろん、頻繁に使う基礎的な演算子やif文、for文なんかは手入力ですが。それ以外は半ばコピペです。
プログラマと呼べるほどプログラムを書いているわけではありませんが、
ほとんど何も調べず何もみないで作業をしているのでしょうか?
そんなことは無いです。
例えば、PHP でプログラムを書く時に、何も調べず、何も見ないで書けるとしたら、
PHP: PHP マニュアル - Manual
上記ページのすべての内容を正確に覚えている必要があります。よく使う関数は覚えていて、見るまでもない事はあると思いますが、そんな関数ばかりでは無いでしょう。
また、覚えている「つもり」が危険なこともあります。
徳丸浩の日記: PHP5.3.7のcrypt関数のバグはこうして生まれた
上記ページは、PHP のバグに関して、「おそらく、こういった流れでバグが生まれたんだろう」という話です。この記事では、C 言語の関数の strncat と strlcat で、引数の意味に違いがあることが、バグが生まれた原因らしい、となっています。非常によく似た関数なので、おそらくきちんと確認せずに strncat を strlcat に変えてしまったんだろうと思われます。
このように、「知っているつもり」でも、きちんと確認する事は大事です。
ただ、経験をつむことで調べる対象が変わってくると思います。
最初のうちは、誰かが書いたサンプルコードを探すことが多いと思いますが、経験を積んでくると、
といったことを注意するようになります。それを確認するために、先の PHP のマニュアルページのように、できるだけ正規のドキュメントを確認する、といったことが増えてくると思います。
コピペする機会が私が思ってた以上に多いようで安心しました。
2012/02/18 00:15:17心のモヤモヤがスッキリした感じがします。