一般
- 意味のある名前を付ける。
- ちょっとしたユーティリティメソッドは除いて、Stringにstrとか付けない。
- 汎用的なネーミングは避けた方がよい。
- Javaではパッケージで区別できるが、混乱しやすい。
- 変数のスコープに応じた長さを使い分ける。
- ただし、あまり長すぎなければ問題ない(省略するほうが問題がある)。
省略形
自分で見たもの、あるいは書いているもので、 これはOK、これはダメというのを書いてみます。
問題ないもの
| 省略形 | 元の単語 | 備考 |
|---|---|---|
| i, j, k | なし | カウンタ |
| e | exception | 例外 |
| len | length | 長さ |
| col | column | 列 |
| prop | property | プロパティ |
| conn | connection | 接続(conだとconsoleと紛らわしいため、connが望ましい) |
これらは広く使われているため、おそらく問題ない。
| 省略形 | 元の単語 | 備考 |
|---|---|---|
| bak | backup | 変数名としては使わない |
| isr | InputStreamReader | java.ioは慣用としてクラス名の先頭をつなげたものが使われるはず。。。 |
| msg | message | |
| rs | ResultSet | |
| stmt | statement |
黒に近いグレー
| 省略形 | 元の単語 | 備考 |
|---|---|---|
| cnt | count | カウンタだが、con’t(続く)とよく間違える |
黒
母音の省略形は厳禁
| 省略形 | 元の単語 |
|---|---|
| rslt | result |
| flg | flag |
| fld | field |
禁止事項
- システムハンガリアンは使用しない。
- ただし、スコープを区別するものは許容範囲内。
- アプリケーションハンガリアン(本来の記法)は問題ない。
- 母音を抜くのは厳禁。
- 例:
field=>fld - ただし、広く使われているものは許容範囲内。
- 例:
- これに限らず、不必要な省略をしない。
- 例:
resはresultかresponseか分からない。
- 例:
Ruby
- updated_at
- created_at
AcitveRecordで自動的に更新されるもの。