質問: フロントエンドエンジニア歴半年です。 javascriptの論理的なコードの組み方の身に付け方、おすすめの本などがありましたら、ご教授ください。 一つの処理を言葉にし、記述することは可能なのですが、それを応用が効くように利用できるようにする となると途端に思考が停止してしまいます。 (こちらは非常に簡単なコードですが、ニュアンスを掴むためあえてわかりやすいコードで書いております。) 例:クリックするとアラートを出す ``` クリックでアラートを出す ``` ``` $('.item').on('click',function(){ alert("一つ目"); }); ``` この様な仕組みが似たようなフォーマットでいくつもある場合、 頭ではもっと効率よく書く方法があるとわかっていても、下記の様に書いてしまう ``` クリックでアラートを出す クリックでアラートを出す クリックでアラートを出す ``` ``` $('.item').on('click',function(){ alert("一つ目"); }); $('.item_2').on('click',function(){ alert("二つ目"); }); $('.item_3').on('click',function(){ alert("三つ目"); }); ``` webに落ちている単純な処理を書くことは可能なのですが、それを拡張したり、 もっと効率化したりする場合、紙に書き出すことができないのです。 有り体に言えば コピペから応用が効かないと言いますか・・・ 非常に伝わりにくい質問で申し訳ないのですが、 ぜひプログラムを書くに当たっておすすめの本がある。 こんな勉強法がいいよ!など、簡単なアドバイスでも構いません のでご教授ください。 (可能であればjavascript関連の書籍が望ましいです。) 駄文失礼しました。 よろしくお願いします。
回答: 「頭ではもっと効率よく書く方法があるとわかっていても」 わかっているならば書くほうがいいです。それは考えることをやめています。 最初は「もっと効率よく書く」より「ただ羅列して書く」方が早いです。 しかしプログラマは「テキストを書く」のが仕事ではなく「書くテキストを考える」 のが仕事だと私は思っています。いずれ「もっと効率よく書く」時間の方が 「ただ羅列して書く」よりも短くなります。 「ただ羅列して書く」時間の何倍もの時間を使って「もっと効率よく書く」 方法を勉強して理解するのが姿勢として正しいのでは?「ただ羅列して書く」しか しないので「ただ羅列して書く」ことしかできないのでは?