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

Reformat long strings to avoid rustfmt bugs. #580

Merged
merged 1 commit into from
Jun 15, 2024

Conversation

ciscorn
Copy link
Member

@ciscorn ciscorn commented Jun 15, 2024

Copy link

coderabbitai bot commented Jun 15, 2024

Walkthrough

今回の変更では、コードの可読性と保守性を向上させることに重点が置かれ、多くのファイルでクエリの整形やインポート順序の見直しが行われました。また、エラーメッセージのフォーマット改善や、マルチライン文字列割り当ての導入なども含まれています。

Changes

ファイル 変更内容
nusamai-citygml/src/parser.rs エラーメッセージのフォーマット改善。
nusamai-gltf/examples/make_gltf.rs URIフィールドのマルチライン文字列割り当てを導入。
nusamai-gpkg/src/handler.rs SQLクエリの整形による可読性と保守性の向上。
nusamai-kml/src/conversion.rs インポート順序の変更。
nusamai-plateau/src/appearance.rs インポート順序の変更。
nusamai/src/sink/cesiumtiles/... コードの整形による可読性と保守性の向上。
nusamai/src/sink/czml/mod.rs インポート順序の変更。
nusamai/src/sink/geojson/mod.rs インポート順序の変更。
nusamai/src/sink/minecraft/region.rs パニックメッセージのフォーマット改善。
nusamai/src/sink/mvt/... インポート順序の変更とログメッセージの整形。
nusamai/src/transformer/transform/... インポート順序の変更。

Poem

風に乗ってコードが舞う、
読みやすく、保守もしやすく、
SQLの行も整えた、
インポート順序も見直した、
エラーメッセージ優しくなり、
世界はもっと楽しくなる。
🐰✨


Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@ciscorn ciscorn self-assigned this Jun 15, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 4aad9dc and 2628ec8.

Files ignored due to path filters (1)
  • rustfmt.toml is excluded by !**/*.toml
Files selected for processing (13)
  • nusamai-citygml/src/parser.rs (1 hunks)
  • nusamai-gltf/examples/make_gltf.rs (1 hunks)
  • nusamai-gpkg/src/handler.rs (4 hunks)
  • nusamai-kml/src/conversion.rs (1 hunks)
  • nusamai-plateau/src/appearance.rs (1 hunks)
  • nusamai/src/sink/cesiumtiles/mod.rs (4 hunks)
  • nusamai/src/sink/cesiumtiles/slice.rs (1 hunks)
  • nusamai/src/sink/czml/mod.rs (1 hunks)
  • nusamai/src/sink/geojson/mod.rs (1 hunks)
  • nusamai/src/sink/minecraft/region.rs (1 hunks)
  • nusamai/src/sink/mvt/mod.rs (2 hunks)
  • nusamai/src/sink/mvt/slice.rs (1 hunks)
  • nusamai/src/transformer/transform/appearance.rs (1 hunks)
Files skipped from review due to trivial changes (6)
  • nusamai-gltf/examples/make_gltf.rs
  • nusamai-plateau/src/appearance.rs
  • nusamai/src/sink/cesiumtiles/slice.rs
  • nusamai/src/sink/czml/mod.rs
  • nusamai/src/sink/minecraft/region.rs
  • nusamai/src/sink/mvt/mod.rs
Additional comments not posted (12)
nusamai/src/transformer/transform/appearance.rs (1)

5-5: SchemaEntity のインポート順序が変更されました。これにより、コードの読みやすさが向上しています。

nusamai/src/sink/mvt/slice.rs (1)

3-3: インポートの順序が変更され、flatgeomのインポートが他の依存関係よりも上に移動されました。これにより、依存関係の視認性が向上しています。

nusamai-kml/src/conversion.rs (1)

3-3: flatgeomのインポート順序が変更され、kml::typesの前に移動されました。これにより、依存関係の管理がより一層明確になります。

nusamai/src/sink/geojson/mod.rs (1)

276-276: nusamai_citygmlObjectGeometryRefのインポートが追加されました。これにより、ジオメトリの参照処理が可能になり、コードの機能性が向上しています。

nusamai/src/sink/cesiumtiles/mod.rs (4)

284-288: tile_writing_stage関数内での経度と緯度の処理が改善されました。改行が追加され、コードの可読性が高まっています。


305-307: ログメッセージのフォーマットが改善され、可読性が向上しています。特に、緯度と経度の範囲を示す部分が改行されており、一目で理解しやすくなっています。


343-350: フィーチャーのデシリアライズ処理において、エラーハンドリングが適切に行われています。エラーが発生した場合には、PipelineError::Otherを使用して詳細なエラーメッセージを提供しています。このアプローチは、問題の診断に役立ちます。


405-417: ポリゴンのトリアンギュレーション処理において、正常に法線計算と2Dへのプロジェクションが行われています。また、earcutアルゴリズムを使用してインデックスバッファが適切に処理されており、効率的なメッシュ生成が可能です。

nusamai-gpkg/src/handler.rs (3)

145-150: ジオメトリカラムのSQLクエリが複数行にわたって整形されています。これにより、SQLクエリの可読性が向上しており、メンテナンスが容易になっています。


219-220: gpkg_contentsへのテーブル情報の挿入処理において、SQLクエリが整形され、可読性が向上しています。クエリの構造が一目で理解しやすくなっており、エラー発生時のトラブルシューティングが容易になります。


330-338: バウンディングボックス情報の更新処理において、SQLクエリが整形されています。この変更により、クエリの可読性が向上し、将来的なメンテナンスや拡張が容易になります。

nusamai-citygml/src/parser.rs (1)

256-259: パニックメッセージのフォーマットが改善されましたが、このメソッドが呼び出される前に適切なエラーハンドリングを行うことを確認してください。エラーハンドリングが不適切な場合、パニックが発生しやすくなります。

Verification successful

skip_current_element()関数の呼び出し箇所を確認したところ、すべて適切なエラーハンドリングが行われていることが確認できました。

  • nusamai/src/source/citygml.rs: st.skip_current_element()?; の後に Ok(()) が続いています。
  • nusamai-plateau/examples/parse_and_compress.rs: st.skip_current_element()?; の後に Ok(()) が続いています。
  • nusamai-plateau/tests/common/mod.rs: st.skip_current_element()?; の後に Ok(()) が続いています。

これにより、パニックメッセージのフォーマットが改善されたことと、エラーハンドリングが適切であることが確認できました。

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# 説明: `skip_current_element()`関数の呼び出し箇所を検索し、適切なエラーハンドリングが行われているか確認する。

# テスト: 関数使用箇所の検索。期待結果: 適切なエラーハンドリングが確認される。
rg --type rust $'skip_current_element'

Length of output: 579



Script:

#!/bin/bash
# Extract surrounding lines of the call sites for detailed review

# Call site in `nusamai/src/source/citygml.rs`
rg --type rust -A 5 -B 5 'st.skip_current_element\(\)\?;' nusamai/src/source/citygml.rs

# Call site in `nusamai-plateau/examples/parse_and_compress.rs`
rg --type rust -A 5 -B 5 'st.skip_current_element\(\)\?;' nusamai-plateau/examples/parse_and_compress.rs

# Call site in `nusamai-plateau/tests/common/mod.rs`
rg --type rust -A 5 -B 5 'st.skip_current_element\(\)\?;' nusamai-plateau/tests/common/mod.rs

Length of output: 1345

nusamai/src/sink/cesiumtiles/mod.rs Show resolved Hide resolved
Copy link

codecov bot commented Jun 15, 2024

Codecov Report

Attention: Patch coverage is 81.01266% with 15 lines in your changes missing coverage. Please review.

Files Patch % Lines
nusamai/src/sink/cesiumtiles/mod.rs 88.88% 5 Missing ⚠️
nusamai-citygml/src/parser.rs 0.00% 4 Missing ⚠️
nusamai/src/sink/mvt/mod.rs 0.00% 4 Missing ⚠️
nusamai/src/sink/minecraft/region.rs 0.00% 2 Missing ⚠️
Additional details and impacted files
Components Coverage Δ
GUI ∅ <ø> (∅)
Backend 82.75% <78.43%> (+0.01%) ⬆️
Libraries 89.83% <85.71%> (-0.03%) ⬇️

📢 Thoughts on this report? Let us know!

Copy link
Collaborator

@nokonoko1203 nokonoko1203 left a comment

Choose a reason for hiding this comment

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

lgtm!

@nokonoko1203 nokonoko1203 merged commit 6ff924d into main Jun 15, 2024
8 checks passed
@nokonoko1203 nokonoko1203 deleted the reformat-long-strings branch June 15, 2024 22:00
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.

2 participants