infoMore than 5 years have passed since last update.
個人的にプロジェクト作る時のディレクトリ構成とかURIとか関数名とか気を付けていること
Last updated at Posted at 2014-09-04
個人的にプロジェクト作る時のディレクトリ構成とかURIとか関数名とか気を付けていること
- 基本的にトランザクションスクリプトが好き
- 仕事でいいな、納得/共感出来るもの、反論出来ないものは積極的に取り入れる
基本
- 引数は最大でも4つ
- 一行の桁数は最大78
- 変数/関数/クラス名はそれぞれ16文字程度をメドにする
- 長くて伝わらないレベルなら短い方がマシ
- たとえ長くなっても動詞-目的語-補語くらいを目安にする
- 単一責任の法則を遵守する
- たとえテストメソッド書かなくても、書くならどうするかを意識しておく
- 関数の行数は別にこだわらないが、多くても50には収める
- ファイルの行数は全くこだわらないが、2000とか超えたら何かおかしいと思う
- 短ければいいわけではないが、長いのは何かおかしいと思うように心がける
- ネストレベルは最大でも3
URI
- 以下のactionが一つのファイルに収まるF/Wを選ぶべきと考えている
閲覧
- /foo/list
- /foo/bar/detail
- /foo/search
新規作成
- /foo/add
- /foo/add/confirm
- /foo/add/execute
編集
- /foo/bar/edit
- /foo/bar/edit/confirm
- /foo/bar/etit/execute
削除
- /foo/bar/remove
- /foo/bar/remove/confirm
- /foo/bar/remove/execute
ディレクトリ構成
- 基本的にモダンPerl入門で書かれていたディレクトリ構成の影響を受けている
- Controllerは長いのでActionにしたい
- 用途/出力先によって、ディレクトリ構成は変える
- 用途が限定されるVIEWなんかはそのディレクトリ配下に置く
- Logic/ModelはSIいた時に*Logicが多かったのでそのせいかな?
- Daoは分けたい
- ORM使いたくないクラスタなので、SQLを分離したい
- さすがにこの下にも色々とディレクトリ掘ります
.
├── Cli
│ └── Action
├── Dao
├── ext-lib
├── Logic
├── public
│ ├── img
│ └── css
└── Web
├── Action
└── template
├── fp
└── sp
関数名
Action
- URIを繋ぐ感じで(言語によってキャメルケース/スネークケースは多い方に準拠)
- ex. add, add_confirm, add_execute
Logic
- retrieve_foo
- 複数件SELECTメソッドのラッパー
- fooには=条件、in条件など
- find_foo
- 一件SELECTメソッドのラッパー
- fooには=条件、in条件など
- create
- store_foo
- remove_foo
- DELETEメソッドのラッパー
- これだけactionと同じ名前になってしまう。。
- is_foo
- calc
DAO
- select_foo
- fetch_foo
- insert
- insert
- bulk_insert
- update_foo
- bulk_update_foo
最後に
- オレオレなので、アドバイス/感想/ご意見/批判頂けますと幸いです
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up