イントラネット アプリ用の HTTP ベースの API を設計しています。全体的な計画の中では、これは非常に小さな問題だと認識していますが、URI 内の単語を区切るには、ハイフン、アンダースコア、またはキャメルケースのどれを使用すればよいでしょうか。
私の最初の考えは次のとおりです。
キャメルケース
- サーバーが大文字と小文字を区別しない場合に起こりうる問題
- クエリ文字列キー()では広く使用されているようです
http://api.example.com?**searchQuery**=...
が、他のURI部分ではそうではありません。
ハイフン
- 他の選択肢よりも見た目が美しい
- URIのパス部分で広く使用されているようです
- ハイフンでつながれたクエリ文字列キーは見たことがない
- SEO に良いかもしれない(これは誤解かもしれない)
アンダースコア
- プログラミング言語で扱いやすくなる可能性がある
- いくつかの一般的な API (Facebook、Netflix、
StackExchangeなど) は、URI のすべての部分でアンダースコアを使用しています。
私はすべてにアンダースコアを使うことに傾いています。ほとんどの大手企業がアンダースコアを使用しているという事実は説得力があります(https://stackoverflow.com/a/608458/360570)。
ベストアンサー1
クロール可能なウェブアプリケーションのURLではハイフンを使用する必要があります。なぜでしょうか?ハイフンは単語を区切るため(検索エンジンが個々の単語をインデックスできるようにするため)、ハイフンは単語の文字アンダースコアは単語文字であり、単語の一部とみなされることを意味します。
Chrome でこれをダブルクリック: camelCase
Chrome でこれをダブルクリック: under_score
Chrome でこれをダブルクリック: hyphen-ated
Chrome (Google も検索エンジンを作っているそうです) が、そのうちの 1 つだけを 2 つの単語であると認識しているのがわかりますか?
camelCase
また、underscore
ユーザーにshiftキーの使用を要求しますが、 ではhyphenated
要求しません。
クロール可能な Web アプリケーションでハイフンを使用する必要がある場合、イントラネット アプリケーションでわざわざ別の操作を行う必要があるでしょうか。覚えておくべきことが 1 つ減ります。