Web事業部実績紹介_Webマーケティング
Web事業部実績紹介_Webマーケティング
2009.07.18

コードがスパゲッティにならないために

まっちー

基本的に、行いたい処理を順番に書いていけばプログラムは動くわけですが、しかし長くなればなるほど、きちんと整理して書いておかないと、後で見たときにどこでどんな処理を行っているのか分からなくなってくる。

僕もまだソースの書き方は下手で汚いので、ちょっと長いソースを書くとすぐにスパゲッチーになる。ぶっちゃけ、バグとか見つかって修正するときに、どの部分を修正していいのか分からない。というか、自分で書いておきながらソースを追うのがめんどい。見てるといらいらする。

そうならないためにはどうするか。

まあ、スパゲッチーになるのはお前のプログラマとしてのレベルが低いからなんだよこのやろーって言われてしまえばそれまでなんですけど、しかしたとえ技術レベルがドラゴンボールでいうところのヤ○チャ程度だったとしても、ヘタレなりに追いやすいソースを書きたい。

これはヅヤ先輩に言われたことなんですけど、必要な処理はなるべくmodelに書くようにするのが良いらしい。

僕は今まで、バリデーションのルールやhasManyなどの関連づけ以外の処理はほとんどcontrollerに書いていたのだけど、最近はそれ以外の部分でもできる限りmodelにメソッドを作って、controllerではそのメソッドを呼び出すだけになるように努めている。

確かにそうすると結構ソースが見やすくなる。メソッド化しているおかげで各処理はどこで行っているのかだいたい分かるし、controllerがすっきりしているとソースを追ってもストレスが少ない。

これはもう少し早くに実行しておくべきだった…先月、そこそこ大きなサイトの制作を手掛けたんですけど、だいぶスパゲットゥィなおかげで新しいバグが見つかるたびに、ぶっちゃけうんざりする。

やっぱりストレスが少ないってのはもちろんなんですが、こういうバグが見つかったときに直す時間の短縮につながるという点でも、ソースはなるべく奇麗にすっきり書けた方がいいですよね。