Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

コードレビュー

【2023/1/29 ~ 2023/6/30】コードレビューで知ったことをざっくりまとめてみた part6

目次 目次 やったこと Rails inactive だと、このユーザーがどんな理由でinactiveなのかが見えない cancel_membership だと動詞形でtrait感がないので、 canceled_membership のような形にする User.findではなく、 current_userをreloadする Time.zone.now …

【2023/1/29 ~ 2023/6/30】コードレビューで知ったことをざっくりまとめてみた part5

目次 目次 Rails 退会機能のエンドポイントは、put /users/me/cancel_membershipsではなくて、destory /users/meのがシンプル serviceの(executeのような)実行トリガーには引数を渡すことは想定としてない サイト名が重複してる場合、手前の文言は 退会希…

【2023/1/29 ~ 2023/6/30】コードレビューで知ったことをざっくりまとめてみた part4

目次 目次 作った機能 Rails スコープ名は形容詞または形容詞句を使う 動詞で始めるのは、あくまで「処理を実行するメソッド」 Rubyでは慣習としてselfを省略する スコープ名は文脈が大切 クーポンコードなど、ユーザーの瑣末な一情報をユーザーレスポンスに…

【2023/1/29 ~ 2023/6/30】コードレビューで知ったことをざっくりまとめてみた part3

目次 目次 作った機能 Rails 「価格をフォーマットするだけ」のヘルパーが「税込」「税抜」を意識するのは違う 消費税の計算は TasService.tax_amountを使う ruby では引数のない関数呼び出しは () を省略する慣習がある 既にトランザクション内にいるのに、…

【2023/1/29 ~ 2023/6/30】コードレビューで知ったことをざっくりまとめてみた part2

目次 目次 作った機能 Rails メールのtext版は自動生成されるので、必要ない。 メール送信はトランザクション外でやる。メール送信はロールバックで取り消されないため。 ActiveRecord::Base.transactionの返り値は、最後に実行した処理 管理画面で「公開す…

【2023/1/29 ~ 2023/6/30】コードレビューで知ったことをざっくりまとめてみた part1

目次 目次 作った機能 Rails full_nameメソッドをモデルに実装する アドレスはハードコーディングせずに設定で持った方が良い サービス内でメール送信処理を行う 対象のリソースを置き換えるなら、putにした方が適切 Class.newで独自エラーが作れる cancel処…

【2023/1/8 ~ 2023/1/28】コードレビューで知ったことをざっくりまとめてみた

目次 目次 概要 Rails no_contentなのにレスポンスボディを返さない 変数名がシリアライザー名と同じ場合、シリアライザーを指定しなくて良い React 真偽値の時の変数名とコンポーネントのprop名に気をつける 同じfeaturesからインポートする際は、相対パス…

【2022/12/21 ~ 2023/1/7】コードレビューで知ったことをざっくりまとめてみた

目次 目次 概要 Open API どんなリソースを操作しているかが分かるパスを書く 使い手の意図しない挙動が発生するようなAPIを作らない Rails has_manyで指定する関連モデル名は複数形にする Active Recordオブジェクトの保存時に何か処理を実行したい場合、モ…

【2022/12/3 ~ 2022/12/20】コードレビューで知ったことをざっくりまとめてみた

目次 目次 概要 Open API OpenAPI 3.1未満の場合はnullable: trueを追加しないとnullが許容されない Rails Like句の後ろに半角スペースを入れる procよりラムダを使う 分類を表すカラム名はkind や categoryのような単語を使う Rubyではスネークケースを使う…

【2022/11/21 ~ 2022/11/25】コードレビューで知ったことをざっくりまとめてみた

目次 目次 この記事を書く背景 Open API Open APIでエンドポイントを定義する場合、タグを付与する 一対多のエンドポイントにはidを加える 対象のスキーマが一つしかない場合、allofは不要 operationIdがそのまま自動生成されるAPIコード上でのメソッド名に…