2019年2月28日TweetPocketどーも!railsのアプリ開発に悪戦苦闘中、つーさん(@tu_san005)です。原因に対する解決策の提案という形式で記事を書いていきたいと思います。原因1:いきなりコードを書くこれは、初心者の方はやりがちではないでしょうか?作るもののイメージが頭の中にあり、いきなりプログラムを書き始めようとする人です。ゴールまでの道筋が見えていないのにプログラムを書き始めると、どれくらい時間がかかる作業なのか今どこまで進んだのかということがわからないまま作業を進めることになります。行き方も調べずに目的地に向かうことは危険ということです。解決策:必要な作業を書き出す開発などの作業をするときはゴールまでの道筋をしっかりと考えてからプログラムを書き始めましょう。その作業内容を細分化するといいです。細分化された作業のそれぞれにどれくらい時間がかかるのかを見積もっておきましょう。することで今やっている作業に時間がかかりすぎているかどうかがわかり、進行度の目安となります。その作業の細分化を頭の中だけでイメージしていると、それを思い出すのにまた時間がかかります。紙に書き出す、パソコンでメモをするなどして視覚化しましょう。原因2:書き始めるのが遅いプログラムを書き始めるとき「前回どこまで書いたっけな」と思い出すところから始めていると遅くなります。前回の作業を思い出すプログラムを書き始めるとなっているということです。毎回このロスをしていると、スムーズに作業に取りかかれないことででモチベーションも上がりませんし、作業効率が低下します。最初の「いきなりコードを書き始める」に対する解決策の続きになります。必要な作業行程をしっかり細分化しているとして、その日のプログラムを書いた後にどこまで作業が進行したか、エラーなどの問題点を書いておきましょう。次に作業に取り掛かるとき、前回の作業内容がわかることでスムーズにプログラムを書き始めることができます。ひよこちゃんプログラムをどこまで書いたかメモする!原因3:エラーのたびに思考停止エラーが出るたびに、「あーもうやる気なくなった」と手を止めていませんか?実際僕もそうなることはあります。プログラミングが嫌になる原因の一つですよね。解決策:調べる、聞くエラーが出るのはプログラミングにおいてはつきものです。上級者になったらエラーを出さずにスムーズにプログラムが書けるというものではありません。「エラーを出さないこと」ではなく、「エラーがでたらどうするか」を考えましょう。解決策1:エラーの原因を検索してみるまず、エラーが出たらどこでエラーが出ているのかエラー文を読みます。それを見ただけで原因はわからないかもしれないので、エラー文をコピーしてグーグルで検索してみましょう。Qiitaなどの情報共有サービスにはたくさんのエラーの原因の記事が載っています。プログラミング上級者は知識が豊富ということもありますが、それ以上に「わからないことがあったら調べる」という経験が豊富です。この力はプログラムにおける問題解決能力に他なりません。自分で調べるという習慣をつけて、必要な情報を探し出す「検索力」をつけていきましょう。解決策2:質問サービスを使うプログラミングは、teratailなどのプログラミングにおけるYahoo!知恵袋のようなサービスが用意されています。実際に質問して見た人ならわかると思いますが、質問するのも頭を使います。「今どういう作業をしていて、どこでエラーが出たのか」を明確化して人に伝えなければなりませんからね。「何がわからないかもわからない」という状況から抜け出す練習にもなります。解決策3:人に聞く身近にプログラミングが得意な人がいればそうするのがいいですね。さっき言ったような聞く練習にもなりますし。人に聞けるような環境で学習がしたいという人はプログラミングスクールに行くのも一つの手でしょう。僕がオススメしているのはテックアカデミーです。Railsでアプリ開発をしていますが、「こだわり」が自分の開発を遅くしているのを実感します。実際にアプリをつくっていると、「こういう機能欲しいな」「このデザイン使いにくいな」というものが無限に出てきます。作っている途中にそれらの機能を全て追加しているとキリがありません。解決策:優先順位を設定この解決策はズバリ、「優先順位をつけて考える」ことでしょう。最優先事項は、「最低限必ず必要な機能」の実装です。4、5割の完成度でもいいので「完成」まで持って行くことが重要だと思います。その時点で改善点はたくさんあると思いますが、必要な機能を列挙した後「優先順位」をつけます。「この機能は絶対欲しいな」というものから優先して機能を実装しきましょう。こだわりすぎず、重要事項を優先!原因5:眠くて作業が捗らない根本的な問題で、どんな仕事でもそうだと思います。プログラミングをする人は深夜までカタカタキーボードを叩く人が多いような気がします。複雑な思考をするのに夜遅くにやることはオススメとは言えません。僕は、新しいアイデアを考えたり、複雑なことを考えたりするのは朝にやるようにしています。脳が活発に働くのはおきてから2時間くらいの時と言われているからです。そこからだんだん思考が鈍化していくので、どんどん単純な作業に切り替えていきます。重要な作業ほど午前に優先してやるのはオススメです。この部分に関しては個人差もあるのかなと思いますが。原因6:単にタイピングが遅いプログラムを書くのはもちろんのこと、検索するにもパソコンに指示を出すのは基本的にキーボードです。この部分が問題の核である初心者の方はあまりいないと思うので一番下に書きましたが。解決策:練習あるのみ僕は必死にプログラムを書いているうちにいつの間にかある程度タイピングが早くなっていたのであまり苦労しませんでしたが一応書いて見ます。プログラムを始めてから結構経つのに未だにタイピングが遅く変な打ち方をしている友人もいるので。月並みですが、e-typingなどのタイピングサイトで練習しましょう。ブラインドタッチというのは、ブラインドタッチの練習をしないとできるようになりません。タイピングサイトで練習していてもキーボードを見ながらだとずっとそのままってことです。この辺は自分なりのやり方で工夫して見てください。まとめいかがでしたか?この記事に書いてあったことを実践して見てあなたのプログラミングの作業が少しでも効率化してくれれば嬉しい限りです。僕自身も、この記事に書いたようなことを意識しなければならないのについいきなりコードをいじったり、前回の作業を忘れることがあります。自分への備忘録でもありますね。プログラミングは挫折しやすいですが、「自分には才能がない!」と思う前に踏ん張って見ましょう。読んでいただきありがとうございました。ironika.pg.5@ezweb.ne.jpIT初心者のトリセツ水道局が民営化されたら公務員はどうなるか?ブログ連続更新から14日、いきなり検索上位に入っていた記事エンジニアを目指す大学生つーさん場所や時間にとらわれない働き方を目指し、プログラミング学習をしている。Railsでオリジナルアプリ開発中。情報発信の場としてこのブログの運営をしている。IT初心者のトリセツ。