質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

Q&A

2回答

994閲覧

名前空間の命名について

mukkun

総合スコア882

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

0グッド

1クリップ

投稿2016/11/30 03:29

編集2016/11/30 04:38

名前空間の命名は人それぞれと思います。

私の場合はパスカルケースなどで作成することが多いのですが、
全て大文字の文字列や途中で大文字が入っている文字列を使用する場合、
皆様はどういった書き方をするのでしょうか。

例えば、

Apple.iPhone => Apple.Iphone

これは最初の文字が大文字で、
他で作成する名前空間と統一性がはかれますが、
なんか気持ち悪いです。

大文字の場合も

# HappyHackingKeyBoard => HHKB # HHKBはそういう商品名と定義 PFU.Fujitsu.HHKB => Pfu.Fujitsu.Hhkb

同様に気持ち悪いと感じます。

参考までにお聞かせ頂ければと思います。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

私はJavaを使うことが多いので、パッケージ名の命名慣習に則って全て小文字で書くようにしています。

apple.iphone pfu.fujitsu.hhkb

のような感じです。

私も同じような悩みを持った経験があるのですが、

  • 使用言語の慣習に合わせる
  • 使用フレームワークの慣習に合わせる

のような判断基準で決定した記憶があります。

投稿2016/11/30 03:54

nesheep5

総合スコア50

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mukkun

2016/11/30 04:37

ご回答有り難うございます。 > 使用言語の慣習に合わせる > 使用フレームワークの慣習に合わせる ココらへんは私も肝だと感じます。 javaの場合はパッケージ名を小文字で書く暗黙のルールがあるので、 困ることはないのですが、CやRuby等の多言語ではパスカルケースが多いように感じます。 (私が勝手に思ってるだけですが。。) コードは綺麗に書きたい人なのでこういう時 気になって先に進めなかったりします。。
nesheep5

2016/11/30 09:50

> コードは綺麗に書きたい人なのでこういう時 > 気になって先に進めなかったりします。。 同じタイプの人間なので、気持ちがよくわかります。苦笑 iPhoneのほうは難しいですが、HHKBについてはそれぞれ単語の頭文字だから(1文字の単語×4)、という理由で"Hhkb"ではなく"HHKB"と表記するのもアリではないかなと思いました。
guest

0

こんにちは。

私はクラス名やenum名をキャメル・ケースにしているので、それと区別できるよう名前空間はスネーク・ケースにしてます。
名前空間名とクラス名をひと目で区別できると、ソースを読みやすいように感じます。

投稿2016/11/30 03:47

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mukkun

2016/11/30 04:28

ご回答有り難うございます。 確かに分別することで視認性が上がりますね。 ただその場合、ライブラリ等と混同することはないでしょうか。 (そんなこといったらキリがないですが。。) 自分で作成したものはわかるように工夫されているのでしょうか。
Chironian

2016/11/30 05:53

他のライブラリと混同しないための名前空間ですので、他のライブラリと同じ名前にすることはないから、混同はないです。 自分のプログラムのトップ・レベルの名前空間は独自の名前を使います。大抵はそのプログラムの名前を付けて使ってます。 C++が多いので、短寿命なプログラムの時は名前空間自体定義しないです。普通にグローバル空間を使います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問