PHPマニュアルの校正
「ドキュメントの校正」って、書籍や雑誌の執筆もOSSのマニュアルも変わらないんですよね。。。
やはり何とかして目玉を増やさないといけませんね。こんなの、別に英語がわからなくても見つけられるモノだし。
ひょっとすると書く時よりも大変。ホントに「find a needle in a haystack」。
PHPマニュアルを読んでる人はかなりの数いると思うし、typoや変な訳にに気づいている人も結構いるハズなんですよね。ただ、それがフィードバックされてない状態という感じがしますね。どうフィードバックすればいいか、まだまだ周知されていないのかなぁ。それとも「コミュニティに還元する」というモチベーションの方なのかなぁ。
今現在、PHP/PEARマニュアルはほとんどのページが訳されていて、ほぼ最新版を保ってますが、これってすごいことだと思うんですよ。あーだこーだ言われるPHPですが、これは間違いなくふんぞり返るぐらい胸を張って誇って良いんじゃないかと。ただ、typoとか訳がおかしい部分があるので、精度がもっと上がれば。。。
ということで、PHP/PEARマニュアルのtypoを見つけた方は、是非
してみてください(自分も含めて)。
まあ、古いマニュアルをまだ公開しているサイトが多く、それが検索でヒットしまくるのはいただけないんですが。。。
あと自衛策としては、今までやってしまったtypoをDB化して一気にgrepするshスクリプト作って、commit前に流すとかですかねぇ。。。
と偉そうに書いてますが、最近マニュアルに関しては何もしてないので、関西方面に足を向けて寝られません><
「設計」勉強会やりたい
symfony前提としてますが、多分どのフレームワークでも同じかなぁ、と。フレームワーク使った開発って今では一般的になっていて、たとえばsymfonyを使う場合、
- Propelでモデルクラス作成
- Actionにロジックを記述
- Viewは素のPHP
という、ある意味「symfony的なモノリシック」な3層構成でもWebアプリはできちゃうわけです。
でも、サービス層(ロジック層)とかを噛ましてフレームワーク依存をなくしたクラスを作ってActionはそれを利用するだけとか、ユースケースから導き出されたクラスを使うとか、テスト的な観点からこうした方が良いとか、いろいろあるわけです。
こういった情報って「symfonyはこう使う」みたいなtipsではなく、本当の意味での「スキル」だと思ってるんですが、今自分がやってることが本当に良いのかどうか、あるいは、もっと良い考え方があるんじゃないかと思っています。
で、symfonyを使った実際のプロジェクトでどういう風に設計し、その結果、どこが良かったか/いまいちだったかを皆で持ち寄って議論できないかなぁ、と思うんですが、のってくれる方いらっしゃいますかね?
ざっと次のような項目について、実際にどのようにやったかを話す感じです。
- どんなWebアプリケーションか
- レイヤ構成(View-Controller-Logic-DAO-DBとか)
- ActionクラスからDBまでのクラス構成の概要
- その際、中心となったポリシーとか
- テストを意識して○○○をしたとか
- その際、中心となったポリシーとか
- Validator周り
- できる限りValidatorでチェックし、Actionに渡った時にはすべてチェックが済んでいる状態にしたとか
- どこまでValidatorでチェックし、どこからActionでチェックしてsfView::ERROR返すようにしたとか
- DB周り
- Propel/Creoleそのままとか、Doctrine使ったとか、漢は黙ってPDOとか
- テーブル設計時にORMを意識したとか、その辺は手書きSQLで吸収とか
- ユニットテスト
- PHPUnitとか、limeとか、simpletestとか
- モック使ったとか
- 自動生成したクラスはテストしてないとか
- DBを含むテスト
- Webを含むテスト
- Seleniumとか、PHPUnitとか、limeとか、simpletestとか、派遣さんとか
- それぞれの作業量に対する工夫
- その結果、どうだったか
- 開発とテストは大変だったけど、運用入ったら楽だったとか
- 開発腹区だったけど、テストと運用大変とか
この項目を見ると「テスト」に偏ってますwが、「テストを見越した設計の仕方」がいまいちしっくり来なくて、こういうのになれてる方はどんな感じでやってるのか聞いてみたいなぁ、というのが本音です。
あ。「この設計はダメだ」とか言う会ではありません。「こうやったら開発時は良かったけど、運用に入ってダメだった」とか「このツール使うでしょJK」という情報を公開してもらう場と考えています。「実はsymfony的モノリシック最強!」という結論があるかも知れませんし。どちらかというと、「ここはこういう考えで○○○した」という「考え方(ポリシー)」がいろいろ聞ければいいなぁ、と思っています。
どんなもんでしょうかね?ある程度「発表したい人」が集まるようなら、どこか会場を借りて早めにやりたいです。うちの会社でも良いですけど、Max10人ぐらいしか。。。:-(
また、「こういう方が良いんじゃない?」というのがあれば、教えてください。
某din○な方とか、某ア○アルな方とか、某id:yandodさんとか、某akkyさんとか、某symfony使ってる方とか、いろいろ面白いネタもってそうなんだけどなーw