結構、適当な好き嫌いでぼんやり理解のまま放置してること。
もうちょっと何とかしたいので列挙。
(使用言語は例によってPHP)
例外処理
特にメソッドでの処理。
メソッドで例外を投げて呼び出し側でキャッチするように処理すべきなんでしょうけど、つい、戻り値のtrue/falseで処理してしまいます。例外処理の方が楽だし応用も利くのに。心がけの問題。
Service層、Logic層
プログラムの基礎なんでしょうけども、どうもこういうレイヤーに弱いです。本を参考にしながら、実地できちんと書かれたコードを読んで、それを真似て次のコードを書けば6割くらい理解できるような程度のことなんでしょうが、なかなかそれをやる気が起きないっていう。LL脳ってことなんでしょうねぇ…
こちらを見てみると規模に応じて3種類のモデルが挙げられていました。
Teeda Extension featuring Goya ~アーキテクチャ【レイヤー構成】~ – 現場のためのソフトウェア開発プロセス – たかのり日記
今自分が書いているプログラムは「Lightweight Pattern」のPageとActionを分けたモデルになるようなので必ずしも悪いわけではないようですが(つってもPHPだけど)、処理が増えてきて記述場所に悩んだりしてるので、ちゃんと理解すべきかなぁと言う感じ。やっぱり何かアーキテクチャ的な本を買うべきですかねぇ。
interface
理解はしてるんですけど、面倒くさくて。
PHPにはインターフェイスというものがありますよ、という話 – id:anatooのブログ
書かれているとおり、まんま、「機能を実装しているクラスだけでいいのでは?」とか思っちゃうんですよねぇ……なんでもかんでもインターフェイスありきで実装すべきとは思いませんけど、インターフェイスを先に書くのが重要な場所もあるなと思ってはいます。
タイプヒンティング
PHP: タイプヒンティング – Manual
あー。あれって、そういうんだったのか。
単に指標かと思ったら致命的エラーになんのか。
まさにぼんやり理解ですねぇ。
これはもっと積極的に使っていきたいと思います。調子に乗りすぎてミスりそうですが。
final
PHP5を試してみる – final修飾子 – Do You PHP?
そういえば…使ってなかった。
デザインパターン
結構テキトウなので。知ってることだけをやろう。そして知ろう。うん。
koshigoewiki:php:デザインパターン [KoshigoeWiki]