2022年12月30日金曜日

プログラミングしていて他の人でも分かりやすい変数名をつけようとすると延々迷ってしまい才能がないと感じています。もし宜しければ「変数名の付け方で迷わないコツ」などありましたらこっそり教えて頂けませんか?

https://jp.quora.com/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%97%E3%81%A6%E3%81%84%E3%81%A6%E4%BB%96%E3%81%AE%E4%BA%BA%E3%81%A7%E3%82%82%E5%88%86%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%84%E5%A4%89

並べ替え
 · 
フォロー

そんな事は誰もが悩むことで才能とはたぶん関係ありません。

ちょっとしたコツ、なだけ。

「変数名の付け方で迷わないコツ」は、「(その場では)変数名の付け方で迷わない」ことです。

なんでもいいから名前をつけて、先にさっさとに進んでください。

全く逆の意味になってしまうならともかく、なんとなく通じる英単語の羅列なら大した問題になりません。

後から、なんかちょっといまいちだったかなと思えばその時に修正してください。

進まずに迷う事はよくないこと。変だなと思ったときに即時に修正しないことはよくないこと。

これがコツです。

動いているコードは変えるな派をさりげなくディスることもなく無視している事がおわかりになるだろうか!

 · 
フォロー

1. 他人のコードを読む

自信をつけるためGithubにいろんなコードがあるので、興味のあるものから読んでみましょう。多くの人が参加しているコミュニティのものがより読みやすいコードの参考になると思います。

2. ペアプログラミングをする

実際にコードを見てもらって感想を聞きましょう。

どこが読みづらい、この名前が変とかいろいろ読む側の意見を参考にすれば良いでしょう。

3. 気にしない

あまり気にしすぎない事です。

ルールも正解も公式なものはありません。

文化によって考え方は変わりますし、トップレベルのエンジニアが集まるコミュニティでも、読みやすさを巡って日々罵詈雑言が飛び交っています。実は。

はっきり言って、よほど酷い変数名でなければ、普通は、そんなに気にされないと思います。基本、その変数の値の内容を英語で名前にすればいいだけで、長いと略すだけです。私がチェックする側なら、多少長くても、いい略が思いつかなかったのねと思い修正するだけです。

確かに業界内には細かいルールを作ってあれこれ指摘して言う人もいますが、そういう人はストレスでそのうち自滅するだけなので放っておきましょう。

 · 
フォロー

このサイト「codic」をお勧めします。

codic - プログラマーのためのネーミング辞書

日本語で変数名を書くと英訳してくれます。また記法も色々選べます。

camelCaseは単語の最初を大文字にして単語の区切りとします。ラクダのこぶみたいに見えるのでcamel(ラクダ)Caseです。

snake_caseは単語をアンダーバーでつなぎます。通常小文字で書きますが蛇みたいに見えるからsnake(蛇)_caseというらしいです(?)

全て大文字にしたスネークケース(SNAKE_CASE)はコンスタントケース (constant case)」もしくは「アッパースネークケース (upper snake case)」「アッパーケース (upper case)」といって、定数の定義やグローバル変数の定義に使います。

アンダーバー(_)の代わりにハイフン(-)を使うハイフネーションを使うのはお勧めしません。マイナス演算子の「-」とかぶるので変数として使えない場合があるからです。

例 A_Bは変数名に使えるが、A-Bは「A - B」として扱われる。

最初も大文字にしたcamelCaseはPascalで使われていたのでPascalCaseといいます。著名な例では米マイクロソフト(Microsoft)社のWin32 API( “CreateWindow”)などで使われていますね。

camelCaseとsnake_case は混ぜると統一感が無いと思われるので、どちらかに決めましょう。私は読みやすいsnake_caseが好きです。(もちろん、変数名が短くなるからとcamelCaseが好きな人もいます)

変数のスコープ(有効範囲)も変数名に影響します。

短い変数名はプライベート変数など他所から見えない所で使います(ぶつかる確率が高いから)

外部から見えるパブリックなプロパティなどは略さずに出来るだけフルスペルで見ただけで意味がわかるようにしましょう。

変数とプロパティは名詞、メソッドは「動詞+名詞」、つまり何をどうするでつけることが多い。

動詞はあまり種類が無くて、「get,put,make,save,load,……」大体やることは決まってる。

変数の時はsnake_caseでメソッド(関数)の時はcamelCase使って何となく見てわかるように分けているかも知れないと今思いました。

camelCaseとsnake_caseの違いなんてプログラマーにとっては初歩の初歩なのであえて説明することもないのですが、プログラマー以外の方は知らないかも知れないので(知ってる方がおかしい(^^;))、詳しく説明してみました(^^)/

0 コメント:

コメントを投稿