社内の開発方法標準化に取り組んでいます。
基本的にPHPでもオブジェクト指向開発&標準的なツール・ライブラリを使おうよってことで進めてるんですが穏やかに民主的に進めようとすると全然決まりませんな。
今更なにあたりまえのこと言ってんの?と思う人もいるかもしれませんが、結構多いんですよ、
「ファンクションベースで一から全部書くべきだ!」
とか
「オブジェクト指向開発は導入コストがかかりすぎる!」
といった反論に出会うことが。
そんな議論に付き合って半年ほど様子を見てきましたが、俺が責任者になったからにはそんなことを言う奴はフライス盤で右腕を切り落としてやる!
とりあえずPHPに関するところはこんな感じで行くことにします。(守らない奴はRS232Cケーブルで首を(略))
・フレームワーク(検証中)
・Mojavi
・データベースコネクション
・PEAR DB
・テンプレートエンジン
・Smarty
・エラーハンドリング
・PEAR PEAR
・O/Rマッパー
・PEAR DB_DataObject
・Unitテスト
・PEAR PHPUnit
・ユーザー認証(検証中)
・PEAR LiveUser or PEAR Auth
・入力検証(検証中)
・PEAR HTML_QuickForm
・ロギング(検証中)
・PEAR Log or syslog
・データベース
・MySQL4.0.20
そして2つのプロジェクトで試してみて良い感じだったのでPHPUnitによるテストファーストも必須にしました。
プロジェクトを成功させるにはこんな決めれば済むことはさっさと決めてしまって、メンバーのモチベーション管理や顧客とのコミュニケーションに時間を使いたいものです。
今後、この案が本当に通るのか、とか実際にやってみたら糞駄目で逆に左腕を切り落とされたとか、見守りつつ書いていこうと思います。PHPで開発をしている人は普通この辺の標準化をどうやって行っているか知りたいもんです。