-
ID:eMaWzJ さんの質問

プログラムを書くのが遅いのですが、どうしたら、はやくなるでしょうか?

アプリ開発を始めてまだ数ヶ月程度のものです。

経験値がまだまだ少ないというのもありますが、自分の中で1週間くらいあれば終わるだろうと思うようなものも1ヶ月くらいかかってしまったりとか、かなり凹みます。

本当は作りたいものが沢山あるのに、これでは月に一つ何か作れれば良い方な気がします。

経験値と使いまわしが出来るようなものを積み上げて行くしかないのでしょうか?

自分が遅いと思う理由の一つは、いちいち、「あれって、どうやるんだっけな?」
と、既にやったことがあるのに過去のコードを見返して参考にするなり、使い回すなりしないと、簡単なことでも自分でコードを書けないというところです。

しかも、それが高い頻度で起こります。

やったことがないことならば調べないといけませんが、そうでないなら本当は、自分が頭に描いたやりたいことを、まるでピアノを即興で弾くかのようにコードに起こせるようになりたいのです。

問題点と改善策を探すためにも自己分析をした方が良いなと自分で書いてて思いましたが、何かアドバイスがあればよろしくお願いします。

みんなの回答 5 件

ID:vVS9PP さんの回答

暗記をして何かをするのは、高等教育で卒業した方が無難です。

プログラムはコピペで作りましょう。

コピペになれたら、一つのクラス化して、そのクラスを使ってそのコピペの内容を呼び出せるようになりましょう。

クラス化になれたら、ライブラリ化をして、より簡易に組み込めるようにしましょう。

その時に数千行のコードがたった数行に収まるのに気づきます。

ID:YS.Ysr

すごい啓蒙的な文章だ。
俺、コード改修くらいしかできないけどちゃんとやってみよと思った。

ID:eMaWzJ

ありがとうございます!

「プログラムはコピペで作りましょう。」の一言になんだか救われた気がします。

ちゃんと覚えてなかったり理解出来てないから何も見ずにコードを書けないということで自分を責め、過去に書いたコードのコピペに抵抗がありましたが、あまり気にし過ぎないようにコピペできるものをどんどん作って行けば良いという風に思えば良いと感じました。

最近、ユーティリティークラスなど、よく使うメソッドをまとめたものを作り始めたところなので、どんどん後でコピペで楽出来るものを作って行きたいと思います!

ID:eMaWzJ

ちなみにここでのライブラリというのは、ある目的の為に存在する複数クラスから構成されたものという解釈でよろしいでしょうか?

例えば、ゲームを効率よく開発するためのゲームライブラリのようなイメージですか?

ID:PetNYR

完全にコピペしないわけではないですが、私は逆に暗記して覚える方を推奨しますね。
コードスニペットなどを使うのはいいんですが、あくまで頭の中にアルゴリズムをしっかり構築できるようになってからでいいと思います。
考えなしで汚いソースコード作るよりは急がば回れで、何度も手打ちすることで、より良いコードを書ける技術が身に付くからです。
経験の年数にもよりますが。

ID:eMaWzJ

ありがとうございます。今日もコード書いてたら前に見ないと書けなかったコードがかけるようになってました。やはり反復が大事なんですね。

ID:oHLt5L さんの回答

まずアプリは静的言語なのでウェブ系でメインのスクリプト言語よりも習得コストは高いです。またandroidにしろiOSにしろGoogleやAppleが一定の規格に沿って開発するようレールを引いているので、それらが身につかないうちは満足に開発できないのは当然かと思います。
(中には新しいプログラミングを1日だとか数日で使えるなんて吹聴している人がいますが、仮に本当だとしたらとんでもない天才なんでしょうw)

まだ数ヶ月ということですが、毎日フルタイムで学習しても半年くらいは殆どの人は戦力にならないでしょう。慣れが一定の域に達しないうちは勝手が分からなくても、半年くらいじっくり腰を据えて学習して初めて「こういう時はこうする」という暗黙の決まり事が自然と身についてくるかと思います。

例えに出したピアノにしてもその域に達するのは何年もかかることですし、焦らずコツコツ学習を続ける以外に道はないのではないでしょうか。

ID:eMaWzJ

フルタイムで半年でも戦力外の場合が多いのですね。これは本当に焦らず未来の自分を信じて頑張るしかないですね。

最近ようやくデリゲートや通知パターンなどを使えるようになったばかりなので、これから経験を積みつついろんなパターンを必要な時に学んで行ければと思います。

ありがとうございました。

ID:ENF0fz さんの回答

自分はこの記事の、「ひたすら、プログラムを読んで書け」が特に心に残ってます。
それしか方法はないんだと思ってます。

CBCNET : TOPIC » FITC Tokyo 2013 開催直前特集!その2: 清水幹太とSaqooshaが語るFI...

http://www.cbc-net.com/topic/2013/01/fitc-tokyo-2013_vol2/
ID:gIA/3e

数をこなして行くのがやはり大事ですよね!頑張ります!!

ID:eMaWzJ

あ、上の自分のです。

ID:OVegD5 さんの回答

人って思い出せる事に限界があるので、スーパーな人間で無い限りは簡単なものでも使用頻度が少なかったら忘れたりしますよ。
あと何度も自分のコードを見返して思い出すってのは誰もがすることだし、それを反復していくことによって、自然とコードが出来上がっていくようになる感じじゃないでしょうか。
何事も反復です。続ければ見返す頻度も減ってどんどん作業が早くなっていきますよ。

ID:gIA/3e

確かに使用頻度が多いものに関しては何も見ずにコードをかけたりします。使用頻度が少なかったり、使用した回数がまだ少ないものに関しては反復によって少しずつ身につけて行くしかなさそうですね。

使用頻度が高いものはちゃんと書けるということに気付けて、
それはそれで自信になりました。ありがとうございます!

ID:eMaWzJ

あ、上の自分のです。

ID:eMaWzJ さんの回答

まずは、過去に作成したアプリの中で今後も使いそうなコードを洗い出して、コードスニペット化、ユーティリティクラスへの組み込み、単体のクラス化から始めてみたいと思います。

回答頂いた方々、ありがとうございました。

ID:PUxuLL

書くことも大事だけど、読むことも大事。頑張ろうぜ!

最終更新日:2013-11-18 (11,950 views)

関連するトピックス

ページ上部に戻る