started_at ってカラム
問題
最近、あるテーブルに started_at
って名前のカラムをつけてしまったんだけど、あまりよくないっぽい。(あまり深く考えずに、created_at とか同様に過去分詞_atでいいだろと思って命名した。)
解説
start
や end
は自動詞にも他動詞にもなれるんだけども、例えば Campaigns というテーブルに対して、start した datetime を格納するためのカラムを追加するときは、Campaign が主語になり、「キャンペーンが始まる」という意味の自動詞にするのが自然とのこと。こうすると、自然言語では「The Campaign starts at 9 PM today.」とかなるので、starts_at
と命名するのが自然っぽい。
現場
インターネット で検索してみたら、あるあるなのかなぁ 〜
日付のカラム名、started_at にするか start_at にするかいつも悩むせいでプロジェクトごとにバラバラ。
— Takafumi ONAKA (@onk) 2012年4月16日
他にも
認証の日時を記録するようなとき、
- Authentication : 認証
- created_at : 発行された日時
- updated_at : 変更された日時
- ○○_at : 失効する日時
こういうときは、expires_at
が良いっぽい。
- expires が created_at の後に起きるのに過去形じゃない
- created_at, updated_at と合わせて expired_at にしたほうがよい
という意見もあるみたいだけども、クラス名と動詞との主従関係で考えると、expire は自動詞であり、Authentication は期限するものであって期限切れされるものではない。という理由らしい。時間的制約では考えない方がよいとのこと。
この指摘
は、この本に書いてあったことです。
- 作者: 鈴木達矢
- 出版社/メーカー: 技術評論社
- 発売日: 2018/11/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
他にも、網羅的に開発時にぶつかる英語で困ることをいろいろ学べまっす。サンプルコードも Ruby なのがわかりやすいです。おすすめでっす。
useContext と useReducer 使って、 Redux っぽいものをやる
他の React Hooks の機能も試したくて
この前作った、カレンダーで Redux っぽいことをやってみた
やったことは、
- 1つだったコンポーネントを👆のように、分けた
- useState を消して、useContext と useReducer を使って、state のやりとりをする
感想
- combineReducers (1つの Reducer にまとめるやつ) 的なものはない?ので、reducer の役割が増えてきたら、どうしよう
- Middleware 使いたくなったら Redux を使うのがよいっぽい
- dayjs は使わなくても良かった
diff
まだ
TypeScript 化はできていない
合わせて読みたい
「わかりやすい」文章を書く全技術100 を読んだ
- 作者: 大久保進
- 出版社/メーカー: クールメディア出版
- 発売日: 2016/04/09
- メディア: Kindle版
- この商品を含むブログ (3件) を見る
文章を書くのが苦手なので、なんとなく買って読んでた。
- 「文を短くする」というのは、わかりやすい文章を書くうえで、最も効果的な方法の一つ
- 2つ以上の修飾語が、ある言葉を修飾している場合、長い修飾語を短い修飾語よりも前に置くようにする
のようなテクニックを、例文と合わせてたくさん解説してくれている。
小・中学生のころに読んでおきたい1冊だった。
このブログもたまには、もうちょっと構成とかよい文章を意識して書いていきたいなぁ〜と思うことには成功した。
またカレンダーつくった
React Hooks 系を試す
のにちょうどよい
TypeScript 化したい
が、うまくできない ><
TypeScript 化 · Issue #1 · 7kaji/calendar · GitHub