ねこだいすき


by toro_toro_toro
カレンダー
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

良いソフトの作り方

f0021803_1455358.jpg

あのSoftEtherの人のBlogの記事、「論理的思考の放棄」を読んで
これは大いに賛同できる!と思ったので、
便乗して私の場合についても書いてみる。

私がソフト(システム/サービス)を作る時の手順
 1. 頭の中で「あんなこといいな、できたらいいな」と考える
 2. 紙に画面とか実際使う時の挙動とかを描いてみてさらにイメージをふくらます
 3. レタッチソフトを使い、GUIを本物そっくりに作り上げる(要試行錯誤)
 4. それを見ながら頭の中でソフトが「完全に」動くようにする
 5. エディタを立ち上げてコードを書く
 6. できあがり

この「頭の中で」が非常に重要だと思うのです。
いくらメモ帳に仕様を書き出しても、実際使いやすくないといけないし
頭の中で動いているイメージが無いと、全ての機能をバランスよく実装するなんて
絶対に出来ないと思うのです。

そして間違えやすいのが3番。
「統合開発環境でGUI貼り付けれるんやからそこでやればええやん」と思いがち。
ダメです。絶対ダメ。
そんなことしたらついついそのままコード書いて動かして・・とかなっちゃうから。
また、どうしてもGUI配置の制約に縛られてしまうから。
完全に頭の中で動かせるように、無駄の無いようになるまでは
レタッチソフトでGUIの切り貼りをするのです。

GUI案も一つや二つじゃなく、思いつくままガンガン作ります。
いまいちだなと思ったら捨てて、また考えます。
ちょうど陶芸の師匠ができの悪い皿を投げ捨てて割るように
ガンガン作っては捨て、作っては捨て。
良いものが出来たら直感でわかります。
ものすごくすばらしい機能を持っていても使いづらければ意味がないですから。
注意しなければならないのは、GUIを作り込むというのは
「飾り立てる」のではなく、どちらかというと「洗練させる」のです。
無駄なく、わかりやすく。

頭の中で全て動いていて、GUIが完璧に出来ていれば
あとは作るのなんて簡単でしょ?
だって要は「既に完成しているソフトをそっくり真似する」のと何ら変わらないんですから。

あとはまあ、辛口コメントをしてくれる友人がいればいいかな。
自分一人ですばらしいと思っていても、
他から見るとあと一歩!というのはよくあることで。
そこをしっかりと指摘してくれる人がいると良いです。

数学、出来なくても構いません。キカイにやらせればいいんです。
論理的思考、いりません。ヒラメキのほうが重要です。
私はそう思うのです。

まあでも私は一日に一万行もコードを書ける人ではないので
全くもって言っている事の重みが違うかもしれませんが
それはまあ大目に見てください。
あと、仕事で大勢の中の一人としてプログラミングするのと
私のように一人で全部コントロールできる場合とはまた違うのかも。
就職したらわかるようになるのかしら?
[PR]
by toro_toro_toro | 2007-03-26 02:31 | 技術あれこれ