Wednesday, August 5, 2009

後先考えずにプログラム組むと,だいたい後悔する

少し時間があるから,ElasticとPlasticのプログラムを組もうと思ったんだけど,以前,相当手を抜いてプログラムを組んでいたので,いざ続きをやろうって思った時に,書き出せない.
悪い点が3つあるので反省を踏まえて紹介する.

まず,一番悪いのはデータ構造.
同じ意味のクラスが複数存在している.たとえば,描画するときのメッシュの頂点と,シミュレーションするときの頂点が別物となっていることがあげられる.プログラムの続きを書こうと思った時,どちらを更新すればよいのかわからなく.そういうことを考えると,2個同じ意味のものは作らないほうがよいと思う.

次に悪いのが,ざっくりとしたクラス化.
一つのクラスに複数の意味を持たせるとわけがわからなくなる.具体的には,描画とシミュレーションが同じクラスに書かれていること.何を更新すりゃいいのかわからなくなる.
描画は描画,シミュレーションはシミュレーションとして書いたほうが混乱がないと思う.

最後に,変数と関数の名前.
なんでもいいや,と思って名前を付けると,何のための変数・関数なのかわからなくなる.いざ使おうとすると,なんでこの引数なのだろうとか思って,調べるのに時間がかかってしまう.具体的には,matrix2という名前がついた変数があるが,なんで2なのかわからん,ということになる.意味を名前につけたほうがよいと思う.

まぁ基本的なことではあるが,サクサクとプログラムをかけてしまう人にとっては,結構邪魔なことばかり.動けばいいじゃん,って思ってプログラムを書いていると,私のようにカスがコードを書いてしまう.

結局,私は再度書きなおすことにした.
プログラムの意味はわかっているので,データ構造と機能別のクラス化を気にして書けるので,サクサクといいコードが書けそうだ.
近いうちに四面体を使ったFEMができると思う.

No comments: