Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API Guidelineに準拠(アッパーキャメルケースをロワーキャメルケースに変更) #76

Merged
merged 7 commits into from
May 23, 2024

Conversation

daikiumehara
Copy link
Contributor

変更点

  • アッパーキャメルケースをロワーキャメルケースに変更

レビュー観点

  • テストが通るか
  • ビルドが通るか
  • 既存の動作に影響が出ないか

@daikiumehara daikiumehara requested a review from a team May 1, 2024 02:09
@daikiumehara daikiumehara self-assigned this May 1, 2024
@daikiumehara daikiumehara force-pushed the feature/edit_camel_case branch 2 times, most recently from 8365b54 to 28c98c9 Compare May 1, 2024 02:27
@daikiumehara daikiumehara changed the base branch from main to feature/apply_api_guideline May 1, 2024 02:34
weahterViewController = R.storyboard.weather.instantiateInitialViewController()!
weahterViewController.weatherModel = weahterModel
_ = weahterViewController.view
weatherViewController = R.storyboard.weather.instantiateInitialViewController()!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[imo] weatherModelの初期化が明示的にされなくなるので、weatherModelに変更が入った際に各testメソッドで副作用が残らないか確認の必要が生じるため、setUpで初期化した方がよいかと

Copy link
Collaborator

@es-kumagai es-kumagai May 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

補足 (memo)-badge
レビューの経過を把握できていないのですけれど、現状では次のコードになっていて、weatherModel の初期化も setUp 内で明示的にされるコードのため、上記の点については解消されている様子が窺えました。

    override func setUpWithError() throws {
        weatherViewController = R.storyboard.weather.instantiateInitialViewController()!
        weatherViewController.weatherModel = weatherModel
        weatherViewController.disasterModel = DisasterModelMock()
        
        weatherViewController.loadViewIfNeeded()
    }

@novr novr requested a review from a team May 1, 2024 02:51
Copy link
Collaborator

@es-kumagai es-kumagai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

提案 (suggestion)-badge 意見 (imo)-badge
今回の主目的が「Swift API Design Guidelines に基づくソースコードの改修」なのを踏まえると、影響範囲はソースコードのみに限定して、動作上の仕様(取り扱う JSON データなど)には影響させない方向性でアプローチしてみるのが良いかもしれないです。

@es-kumagai
Copy link
Collaborator

提案 (suggestion)-badge 意見 (imo)-badge 今回の主目的が「Swift API Design Guidelines に基づくソースコードの改修」なのを踏まえると、影響範囲はソースコードのみに限定して、動作上の仕様(取り扱う JSON データなど)には影響させない方向性でアプローチしてみるのが良いかもしれないです。

⋯ と、思ったのですけれど、テストコードを見ると YumemiWeatherTests の方は、地域の入力が小文字から始まるもので指定されていますね。ここでは、内部で使う makeRandomResponse が地域を考慮しないため、何を渡しても良いため整合性が気にされなくなっているようです。

案 (idea)-badge

  1. テストデータの中で "LosAngels" があるのも踏まえると、ここを "losAngels" みたいにしないといけないルールにすると入力データが日用的な名称で与えられなくなる。大文字から始まる名称で与えられるようにするのが良さそう。(逆に小文字から与えるルールにしても良い、その場合は "LosAngels" の表現方法をどうするかは考えておくと良さそう)
  2. Swift API Design Guidelines では、列挙子は小文字から始まる指針になっているので、コード上では小文字始まりに合わせるのが良さそう。
  3. ドキュメントコメントでは、小文字で始まる地域を指定するのが例に挙がっているので、1. の方針を採用するならドキュメントコメントの訂正が必要。
  4. 地域の整合性が取れなくならないように(取りやすくなるように)内部では String ではなく Area 型で扱い、適切な地域データが得られなかったときは相応のエラーを返すのが良さそう。
  5. 修正の際は、改修を間違えると失敗しそうなテストコードを記載して、改修後にも機能が維持されているか確認するのが良さそう。

現時点のコードでは、入力データを大文字から始まるテストコードに戻したため、テストは失敗するようになっています。上記の方針に従ったときに成功するテストコードになっています。

@daikiumehara
Copy link
Contributor Author

修正していて感じたんですが、やはり日用的に考えると大文字スタートがしっくりくると感じました。
それに合わせてArea実装をしたのでアッパーキャメルケースになったのかなぁと思ってます。

なのでrawValueをアッパーキャメルケースにするのが一番良いのかなと思ったので、それで実装してみます👀

修正の際は、改修を間違えると失敗しそうなテストコードを記載して、改修後にも機能が維持されているか確認するのが良さそう。

この辺りも少し考えてみます!

@yumemi-kumagai
Copy link
Contributor

それに合わせてArea実装をしたのでアッパーキャメルケースになったのかなぁと

良好 (good)-badge
とても良い、考察の方向性に感じました。

Copy link
Collaborator

@es-kumagai es-kumagai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

良好 (lgtm)-badge
Raw Value を活かして最短距離で目標達成されている印象がします。

Base automatically changed from feature/apply_api_guideline to main May 23, 2024 06:38
…al-indentation

複数行の文字列リテラルのインデントが周囲と乖離しないようにしました。
@es-kumagai es-kumagai merged commit 13643d8 into main May 23, 2024
2 checks passed
@es-kumagai es-kumagai deleted the feature/edit_camel_case branch May 23, 2024 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants