started_at ってカラム

問題

最近、あるテーブルに started_at って名前のカラムをつけてしまったんだけど、あまりよくないっぽい。(あまり深く考えずに、created_at とか同様に過去分詞_atでいいだろと思って命名した。)

解説

startend は自動詞にも他動詞にもなれるんだけども、例えば Campaigns というテーブルに対して、start した datetime を格納するためのカラムを追加するときは、Campaign が主語になり、「キャンペーンが始まる」という意味の自動詞にするのが自然とのこと。こうすると、自然言語では「The Campaign starts at 9 PM today.」とかなるので、starts_at命名するのが自然っぽい。

現場

インターネット で検索してみたら、あるあるなのかなぁ 〜

他にも

認証の日時を記録するようなとき、

  • Authentication : 認証
    • created_at : 発行された日時
    • updated_at : 変更された日時
    • ○○_at : 失効する日時

こういうときは、expires_at が良いっぽい。

  • expires が created_at の後に起きるのに過去形じゃない
  • created_at, updated_at と合わせて expired_at にしたほうがよい

という意見もあるみたいだけども、クラス名と動詞との主従関係で考えると、expire は自動詞であり、Authentication は期限するものであって期限切れされるものではない。という理由らしい。時間的制約では考えない方がよいとのこと。

この指摘

は、この本に書いてあったことです。

問題解決力とコーディング力を鍛える 英語のいろは

問題解決力とコーディング力を鍛える 英語のいろは

他にも、網羅的に開発時にぶつかる英語で困ることをいろいろ学べまっす。サンプルコードも Ruby なのがわかりやすいです。おすすめでっす。

useContext と useReducer 使って、 Redux っぽいものをやる

他の React Hooks の機能も試したくて

この前作った、カレンダーで Redux っぽいことをやってみた

f:id:whitech0c0late:20190221002229p:plain

やったことは、

  • 1つだったコンポーネントを👆のように、分けた
  • useState を消して、useContext と useReducer を使って、state のやりとりをする

感想

  • combineReducers (1つの Reducer にまとめるやつ) 的なものはない?ので、reducer の役割が増えてきたら、どうしよう
  • Middleware 使いたくなったら Redux を使うのがよいっぽい
  • dayjs は使わなくても良かった

diff

Combining useContext and useReducer to Make Calendar App State by 7kaji · Pull Request #3 · 7kaji/calendar · GitHub

まだ

TypeScript 化はできていない

合わせて読みたい

whitech0c0late.hatenablog.com

「わかりやすい」文章を書く全技術100 を読んだ

「わかりやすい」文章を書く全技術100

「わかりやすい」文章を書く全技術100

文章を書くのが苦手なので、なんとなく買って読んでた。

  • 「文を短くする」というのは、わかりやすい文章を書くうえで、最も効果的な方法の一つ
  • 2つ以上の修飾語が、ある言葉を修飾している場合、長い修飾語を短い修飾語よりも前に置くようにする

のようなテクニックを、例文と合わせてたくさん解説してくれている。

小・中学生のころに読んでおきたい1冊だった。
このブログもたまには、もうちょっと構成とかよい文章を意識して書いていきたいなぁ〜と思うことには成功した。