どーも!railsのアプリ開発に悪戦苦闘中、つーさん(@tu_san005)です。
今回は、
どう工夫したら早く書けるんだろう・・?
という人に向けて、
- 原因の列挙
- 原因に対する解決策の提案
という形式で記事を書いていきたいと思います。
目次
プログラミングが遅い原因と解決策
原因①:いきなりコードを書く
これは、初心者の方はやりがちではないでしょうか?
作るもののイメージが頭の中にあり、いきなりプログラムを書き始めようとする人です。
ゴールまでの道筋が見えていないのにプログラムを書き始めると、
- どれくらい時間がかかる作業なのか
- 今どこまで進んだのか
ということがわからないまま作業を進めることになります。
行き方も調べずに目的地に向かうことは危険ということです。
解決策:必要な作業を書き出す
開発などの作業をするときはゴールまでの道筋をしっかりと考えてからプログラムを書き始めましょう。
なるべくその作業内容を細分化するといいです。
そして細分化された作業のそれぞれにどれくらい時間がかかるのかを見積もっておきましょう。
そうすることで今やっている作業に時間がかかりすぎているかどうかがわかり、進行度の目安となります。
またその作業の細分化を頭の中だけでイメージしていると、それを思い出すのにまた時間がかかります。
紙に書き出す、パソコンでメモをするなどして視覚化しましょう。
- プログラムを書くときは必要な作業行程をなるべく細分化して書き出す
- それぞれの行程にかかる時間を見積もる
- 上の二つを実行したあと、作業に移る
プログラミングを学べるオススメのサービスについて以下の記事に書いています!
原因②:書き始めるのが遅い
プログラムを書き始めるとき「前回どこまで書いたっけな」と思い出すところから始めていると遅くなります。
つまり作業が、
- 前回の作業を思い出す
- プログラムを書き始める
となっているということです。
毎回このロスをしていると、スムーズに作業に取りかかれないことででモチベーションも上がりませんし、作業効率が低下します。
解決策:前回の作業を記録
最初の「いきなりコードを書き始める」に対する解決策の続きになります。
必要な作業行程をしっかり細分化しているとして、
その日のプログラムを書いた後にどこまで作業が進行したか、エラーなどの問題点を書いておきましょう。
次に作業に取り掛かるとき、前回の作業内容がわかることでスムーズにプログラムを書き始めることができます。
原因③:エラーのたびに思考停止
エラーが出るたびに、「あーもうやる気なくなった」と手を止めていませんか?
実際僕もそうなることはあります。
プログラミングが嫌になる原因の一つですよね。
解決策:調べる、聞く
エラーが出るのはプログラミングにおいてはつきものです。
上級者になったらエラーを出さずにスムーズにプログラムが書けるというものではありません。
「エラーを出さないこと」ではなく、「エラーがでたらどうするか」を考えましょう。
解決策①:エラーの原因を検索してみる
まず、エラーが出たらどこでエラーが出ているのかエラー文を読みます。
それを見ただけで原因はわからないかもしれないので、エラー文をコピーしてグーグルで検索してみましょう。
Qiitaなどの情報共有サービスにはたくさんのエラーの原因の記事が載っています。
プログラミング上級者は知識が豊富ということもありますが、それ以上に「わからないことがあったら調べる」という経験が豊富です。
この力はプログラムにおける問題解決能力に他なりません。
まずは自分で調べるという習慣をつけて、必要な情報を探し出す「検索力」をつけていきましょう。
解決策②:質問サービスを使う
プログラミングは、teratailなどのプログラミングにおけるYahoo!知恵袋のようなサービスが用意されています。
実際に質問して見た人ならわかると思いますが、質問するのも頭を使います。
「今どういう作業をしていて、どこでエラーが出たのか」を明確化して人に伝えなければなりませんからね。
「何がわからないかもわからない」という状況から抜け出す練習にもなります。
解決策③:人に聞く
身近にプログラミングが得意な人がいればそうするのがいいですね。
さっき言ったような聞く練習にもなりますし。
人に聞けるような環境で学習がしたいという人はプログラミングスクールに行くのも一つの手でしょう。
僕がオススメしているのはテックアカデミーです。
最短で開発を学ぶルートについて書いてみたので参考にどうぞ。
原因④:こだわりすぎる

僕は今Ruby on Railsでアプリ開発をしていますが、「こだわり」が自分の開発を遅くしているのを実感します。
実際にアプリをつくっていると、「こういう機能欲しいな」「このデザイン使いにくいな」というものが無限に出てきます。
作っている途中にそれらの機能を全て追加しているとキリがありません。
解決策:優先順位を設定
この解決策はズバリ、「優先順位をつけて考える」ことでしょう。
最優先事項は、「最低限必ず必要な機能」の実装です。
まずは、4、5割の完成度でもいいので「完成」まで持って行くことが重要だと思います。
その時点で改善点はたくさんあると思いますが、必要な機能を列挙した後「優先順位」をつけます。
「この機能は絶対欲しいな」というものから優先して機能を実装しきましょう。
原因⑤:眠くて作業が捗らない
根本的な問題で、どんな仕事でもそうだと思います。
しかし、プログラミングをする人は深夜までカタカタキーボードを叩く人が多いような気がします。
複雑な思考をするのに夜遅くにやることはオススメとは言えません。
解決策:複雑な作業は朝
僕は、新しいアイデアを考えたり、複雑なことを考えたりするのは朝にやるようにしています。
なぜなら一番脳が活発に働くのはおきてから2時間くらいの時と言われているからです。
そこからだんだん思考が鈍化していくので、どんどん単純な作業に切り替えていきます。
なので重要な作業ほど午前に優先してやるのはオススメです。
この部分に関しては個人差もあるのかなと思いますが。
原因⑥:単にタイピングが遅い
プログラムを書くのはもちろんのこと、検索するにもパソコンに指示を出すのは基本的にキーボードです。
まあ、この部分が問題の核である初心者の方はあまりいないと思うので一番下に書きましたが。。
解決策:練習あるのみ
僕は必死にプログラムを書いているうちにいつの間にかある程度タイピングが早くなっていたのであまり苦労しませんでしたが一応書いて見ます。
プログラムを始めてから結構経つのに未だにタイピングが遅く変な打ち方をしている友人もいるので。
月並みですが、e-typingなどのタイピングサイトで練習しましょう。
ブラインドタッチというのは、ブラインドタッチの練習をしないとできるようになりません。
つまり、タイピングサイトで練習していてもキーボードを見ながらだとずっとそのままってことです。
まあこの辺は自分なりのやり方で工夫して見てください。
まとめ
いかがでしたか?
この記事に書いてあったことを実践して見てあなたのプログラミングの作業が少しでも効率化してくれれば嬉しい限りです。
正直僕自身も、この記事に書いたようなことを意識しなければならないのについいきなりコードをいじったり、前回の作業を忘れることがあります。
自分への備忘録でもありますね。
プログラミングは挫折しやすいですが、「自分には才能がない!」と思う前に踏ん張って見ましょう。
読んでいただきありがとうございました。
ではでは!