はじめに
後輩とかに、「どんなこと考えてプログラミングしてるんですか?」みたいなことを聞かれたりすることが出始めたので、現状での考え方を書いておく。
あくまで、独学なので実際はもっといい方法があるかもしれない。
(その時は、ぜひともコメントで教えてもらいたい!!)
基本的な手順
先に、以下に手順だけ載せておく。
- 使用用途の決定
- 使用するものの決定(サーバの数とか)
- ログの取得方法
- 使用するAPIの決定
- プログラムの構想決定
- プログラム作成
- 動作テスト
プログラミングをする前に
まずプログラミングをする前に、全体的な構想や設計をしたりする必要がある。
これは、かなり重要だと個人的に思う。
なぜなら、構想や設計の時点で破綻していた場合、実装時には手遅れになっている場合が多いからだ。
確かに、具体的な構想を練ったり、設計書を書いたりするのはとても手間がかかり、時間もかかる。
しかし、それを抜きにしていきなり実装ができるのは、熟練のエンジニアか天才くらいだと(自分は)思う。
特に、あまり開発経験がない人に関しては、絶対的に構想や設計をちゃんとしたほうが良いと思う。
なぜなら、実体験を踏まえると、あまり開発経験がない人の場合、まず「なにをしたらよいかがわからない」という問題にぶつかる。
その場合、イメージが大雑把であることが大半であると思う。
そのため、構想を練り、設計をしっかりと可能な限り細かく行うことで、どのような手順を踏めばよいのかが、なんとなくわかるようになる(はず)。
なので、「なにをしたらよいかがわからない」という人は、可能な限り細かい設計をしてみるといいと思う。
補足
ちなみに、構想(個人的にはアイデアだしに近い)についてだが、これはかなり大雑把でもいいと思っている。
どういうことかというと、「アイデアは質よりも量」だからだ。
より良いアイデアを出そうといくら考えても、でないことのほうが大半だ。
なのであれば、ありふれた簡単なものであっても、ひたすら可能ならノンストップでノートに書き続けたほうがいい。
出たアイデアは、その時点では使い物にならなくても、別の機会に利用できるかもしれないし、組み合わせてみたらとても素晴らしいものになるかもしれない。
なので、パッと思いついたものは迷わずメモしたりするのがいいと思う。
あと、個人的に構想を練ったり、仮の設計をする際(草案を作成する際とか)にはノートや紙に書くといいと個人的には思う。
自分だけかもしれないが、どうしてもスプレッドシートやWordに書こうとすると、きれいに書こうとしてなかなか作業が進まないことがあり、それに比べて捨てる予定の紙の裏に書くとかなりのスピードで作業が進むのだ。
おわりに
こうした、ちょっとしたテクニック(?)は、かなり個人差があったり、我流の方法があったりするので一概にいいとはいえないが、役に立つのであれば幸いです。
また、最初にも述べた通り、基本的に独学でこうしたことを学んでいるので、「こういう方法もあるんだよー」って人がいましたら、コメントで教えてくれると、片っ端から試しますのでよろしくお願いします。