- - PR -
変数名をつける時に何を気をつけますか?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-01-20 17:07
例えば ID と Name というプロパティを持つ User というクラスを、私ならこう書きます(C# の場合)
[ メッセージ編集済み 編集者: rain 編集日時 2009-01-20 17:08 ] | ||||||||||||
|
投稿日時: 2009-01-20 17:45
私なら、こうですね(Javaです)。
または、
後者の方が多いです。 | ||||||||||||
|
投稿日時: 2009-01-20 18:08
いわゆる 「プロパティ変数 (プロパティの実態となるフィールド)」 で、『直接参照するな。プロパティからアクセスせよ。』 という意味合いで付けることが多いです。 通常のプライベート フィールドでは使いません。 これは .NET の分野では良く見かける使い分けです。 スレッドの本題についてですが、前提として "プロジェクトなどで名称ルールが存在しないこと" とありますので、この場合は Web 上などにある既存のガイドラインなどになるべく従うようにするのが無難だと思います。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2009-01-20 19:47
昔の、チョンプロとかいじって、変数名汚いなぁとか思っても、 ルールの統一を重んじて古いルールのままにしたり、 新しいのにそろえたりとか、考えるといらいらしてしまうので、 その時々の、流行を使うようにしています。 変数名も後から簡単に変えられるようになったのと、 Using で使用範囲と目的が比較的明らかになりやすくなったので、 昔より短い変数名を多用するようになりました。 stream だったら、とりあえず、"s" なんても使用範囲が短い場合は、 ありがちです。( using の中が、1〜2行とか ) やだなぁと思ったら、後で簡単に変えられますからね。 | ||||||||||||
|
投稿日時: 2009-01-20 21:47
この前提がありえません。 (なんていったら元も子もないですが) チーム開発においてルールが存在しない場合、 「にゃーさんが書いたソースだからPr○○はprivateだな」 「Heが書いた関数だからstr△△はstringだな」 なんて感じに開発しないといけなくなります。最悪です。そんなのイヤです。 自分一人でコーディング(と保守)するのであれば好きにすればいいと思いますが、 それでも既存のライブラリとあわせた方が何かと楽でしょう。 「標準のライブラリだからI○○はインターフェイスだ」 「俺が書いた関数だからstr△△はstringを返すな」 なんてのはやっぱりイヤです。 そういう意味で、privateなメンバの名前には割と寛容です。 勝手な名前つけても影響範囲が小さくてあんまり困らないから。 じゃんぬねっとさんが挙げているガイドラインでもprivateなメンバには触れられていなかったかと。 自分の場合、完全に使い捨てにするつもりのスクリプトなんかではaとかbとか平気で出てきます。誰にも迷惑かけないから。 チーム開発は、ミンナのためのコーディングが大切だとおもいます。 | ||||||||||||
|
投稿日時: 2009-01-20 23:11
理想論ですかね・・・。結構そういうプロジェクトがありますよ。 大規模なら破綻コースですけど、2〜3人のプロジェクトとかだとザラにあります。 ところで、自分はJavaな人なのでJLSベースです。 どっちみちJavaのような静的言語で賢いIDEがあれば、名前なんでどうでもいいのレベルです。 IDEで命名規約に合致しているかのチェックもできるので、それでルールを強制することはあります。 困るのはJavaScriptですね。1つの画面のスクリプトを複数人でメンテしていると、 同じ名前の関数が追加されて動かなくなったりするトラブルも過去にありました。 規約より今のコード見て名前を付けろよと思いますね。 | ||||||||||||
|
投稿日時: 2009-01-21 00:03
私の周りでもザラですが、 この手の規約なんてのは毎回頭捻って作らなければ行けない訳でもないわけで、 JavaとかC#とかのメジャーな言語であれば一度作れば(作らなくてもどっかから拾ってくれば)いくらでも使い回しが効くのになぁ、とは思います。最初に周知すればいいだけなのに。 # と、かつのりさんに言っているわけではないです。悪しからず。 周りに合わせろってのは私もよく言います。一部のコードだけがガイドラインに沿っていても意味がないのです。 ミンナがハンガリアンなら自分もハンガリアンになります。 | ||||||||||||
|
投稿日時: 2009-01-24 16:49
一人で完結するコーディングや既存の修正は行ってきましたが、
業務で新規に作ることがほとんどなかったため、 とても皆さんの意見が参考となりました。 特に、オブジェクト指向であれば 皆で意識的に共有するクラスでなければ、 他へ影響を及ぼすことというのは減っていると思います。 そのため、プライベートの変数は気にせず、その時の流行の変数という 考え方というのは、かなり新鮮に思いましたが納得するものでもあります。 # 自身で作るものも、処理はほとんど1画面で完結するように作っていますし 示してくださっているガイドラインを読む時間が今のところとれないので、 後ほどみさせてもらおうと思っています。 |