この記事は SYSKEN Advent Calendar 2015 12日目の記事です。
OBのさんだーです。現在はソフトウェア開発の会社で主にJava使ってお仕事しています。
偉大なるじゅりあん先輩にお願いされたので適当な内容ですが投稿させて頂きます。
ずっとパソコン使って作業するよりはたまにはペンと紙を使って落書きしてみるのもおすすめだよーという記事です。
学生って暇な時間で近くにパソコンが無くてペンと紙はあるって状況ありますよね?そんな時になぜか開発したいもの思いついたりしますよね?
授業中とかめんどくさい話を聞く時間とか!!!
そんな時は紙に落書き(設計)してみましょう。
設計をする利点
設計なんか知らねえ!俺はいきなりコード書けるんだ!という人には必要ないかもしれません。
自分は天才タイプではないので紙に何か書かないと考えを整理できないので書いてました。
最近になってあの落書きわりとよかったのかなーと思っています。例えばー
- プログラミング上達の助けに
- 設計→実装を繰り返すことでここはこれを使ってこうしよう→うまくいったor失敗したを経験することで次作る時にうまくいくようになったりするはずです。
- 時間の有効活用
- パソコンが無いときにペンと紙で作るもののイメージしてパソコン触れる時に一気に実装は捗る気がします。
- パソコンを触る時間が短いほうがいいプログラマとか聞いたこともあります。
- 設計資料やドキュメントを作れるエンジニアに!
- わりと仕様書だとかを作ったりという作業がお仕事でもあるのでそんな時にUMLとかを使えるエンジニアはちょっとかっこいいかもしれません
- コードが書きたくなる
- コードを書かずに頭の中で実装のイメージができてくるとコードが書きたくなります(主観)
どんな落書きをしていたか
自分が学生時代にペンと紙を使って設計(落書きともいう)をやって書いていたものを紹介します。
書き方は適当に調べてください。
画面仕様
まずはなんといってもこれです。作成するものの画面をイメージして落書きしましょう。
ゲーム作る時もアプリもまずはだいたいここから入ります。
ちなみに自分の場合、だいたいのやつはこの段階でこれ作ってもおもしろくないなーとなってやめてしまいます。
データフロー図
ここでデータが作られてここの処理でデータをこうしてやってデータをここに保存しようみたいなのが表せます。
四角と丸と矢印と棒がかければ書けます。
ER図
たしかデータベースを設計する場合に使われる図です。
Railsで何か作る前に必ず書きました。
Grouper手伝えって言われた時にらりょすさんが書いていてくれたので捗った覚えがあります。
クラス図
UMLのやつなので奥が深い図ですが最低限のことだけ覚えて使うといいと思います。
変数と関数、privateかpublic、継承とかクラス間の関係とかだけ覚えて自己満足な図で十分だと思います。
C++でゲーム作るときに初めてクラスを使いましたが継承を使って作るときにどう作ればいいのかわからなくなったので自分の頭を整理するために書きました。
クラス図がある程度わかればデザインパターンの勉強とかにも役立ちそうな気がします。
よく書いていたやつは以上の4つですが、他にもUMLとかを調べるとたくさんの図がありますし、実装のイメージや考えの整理ができればいいので我流でもなんでもいいと思います。
細かい部分を設計するのはめんどくさいので自分はだいたい静的な設計しかしていませんでした。
なんにせよ悩んでいる時にとりあえず紙に書いてみるのはおすすめです。
先生の話を聞くことは大事なので授業中に落書きするのはよくないと思います。ということにしておきます。
最後に戯れ言
わりと僕がしすけんで悩んでいたことが教育なのですが、やっぱりものづくりを好きになったり興味持ったしたやつが自分で伸びてくれるのかなーというイメージです。
ゲームとか展示してみてものづくり面白いなーと思う人もいるかもしれませんし、プロコンでの開発経験してみてとかWeb上のやつとかアプリとかを公開してからとかどこで好きになるかわかんないので興味持たせる部分が難しいなと思います。
とりあえず一回気合入れて踏み出してみたらものづくり面白いなーと思うはずなので若い皆さんに頑張って欲しいと思います!
コメントを残す