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

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

新規登録して質問してみよう
ただいま回答率
85.34%
変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

意見交換

7回答

251閲覧

booleanの変数名に〜flgとつける人をどう思いますか?

hatena99

総合スコア0

変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

0グッド

0クリップ

投稿2025/01/17 11:59

テーマ、知りたいこと

boolean型の変数名に〜flgとつける人をどう思いますか?

背景、状況

boolean型の変数名は、is〜、can〜と付けた方が、
その変数が真のとき、どういう状態か分かり易いよと何度も言っているのに、頑なに〜flgと命名する人がいます。

私はこういう人とは一緒に働きたくないと思いますが、みなさんどう思いますか?

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

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

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

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

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

回答7

#1

utm.

総合スコア380

投稿2025/01/17 12:03

編集2025/01/17 12:04

あなたの意見に同意します
isはわかるけど、hasも使ったことあるけど、canはわかりづらいかな

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

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

#2

utm.

総合スコア380

投稿2025/01/17 14:17

ちなみに、flgと書くのは古いプロジェクトの慣習を引き継いでいるだけと思います。

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

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

#3

fiveHundred

総合スコア10184

投稿2025/01/18 03:38

もし、それで困ることがあるのであれば、規約やルールとして決めておくべきでしょう。
そうでないのであれば、可読性が低いほうを選ばれたとしても仕方がないと思います。

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

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

#4

TaroToyotomi

総合スコア1454

投稿2025/01/18 03:55

あなたの意見に同意します。
ただ、isXXXのルールが守られていたとしてもisNotXXXとかの肯定と否定の変数が混在するプログラムは嫌いです。

ところで、isXXXFlgとかはどうなんでしょうね?
頑なに~Flgを付けたい人に対しては、~Flgにしてもいいけどとりあえず接頭辞にisを付けてくれと言えば納得してくれるのかな?

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

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

#5

utm.

総合スコア380

投稿2025/01/18 05:41

編集2025/01/18 06:06

例えばクラス名やインスタンスがflagという接尾辞のついたものなら、特におかしく感じない

もしもflag(flg)が人間の直感に合っているなら、ドメイン駆動設計とか宣言型プログラムみたいに、やりたい結果を重視するような文脈であれば、
何らかの処理を示すためのflagとして宣言しているということが構造上わかりやすいんだと思う。

読み手としてはそれがどこから来てどこに行くのかを知りたいという話だから、何とか両立できそうな気もするし逆に相容れないかもしれない。

プログラムは設計図という考えとプログラムは生きているという考えがあると思っていて、
設計図という考えは、1度作ればコンピュータが勝手に複製も実行もしてくれるから(実際の工業に当てはめた考え方)

この設計図の考え方は大きく同意するけど、多分自分みたいな若者は初っ端から大きいプログラムに触れるだとか、古いシステムを改修するだとかの経験から、flgとかいう意味の推測できない方法はやめね?となるのだと思う。

まあ、強いものが強者ではなく、環境の変化に耐えられるものが強者とかいう自分が中学生くらいの頃に聞いた言葉を引用していいのであれば、解決方法は自分がflgになれることな気がする。

まあ、意見としては質問者さんに同意だけど!

それと質問の本質とはズレるけど、flgみたいな略語は表記揺れする未来しか見えないので好きじゃない

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

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

#6

TakaiY

総合スコア13926

投稿2025/01/18 06:00

boolean型の変数名に〜flgとつける人をどう思いますか?

構わないと思う。 場合によっては自分でも使う。

その変数が真のとき、どういう状態か分かり易いよと何度も言っているのに、頑なに〜flgと命名する

チームで開発しているのであれば、変数の命名規則はある程度統一していたほうがいい(ここも議論の対象になりそうではある)ので、チームとして意思を統一して、必要であれば明文化すればいいと思う。
ただし、その結果チームとしてその必要は無いという結論になるのであれば、受け入れるべきだし、そうなる可能性は大きいと思う。

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

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

#7

otn

総合スコア85996

投稿2025/01/18 13:43

boolean型の変数名に〜flgとつける

「boolean型」という漠然とした話であれば、強いて言えばシステムハンガリアン記法的で止めた方が良いとは思いますね。私は自分では使いませんが、システムハンガリアンで書いている赤の他人に「絶対止めろ」というまではしないです。

ただ、おそらく、is~~flgが、「~という状態である」という意味を持つ前提での質問でしょうから、その場合はisの方が肯定であることが明示されるのでそちらが良いかと思います。flgとの関係が明示されていない。接頭辞か接尾辞かはどうでも良いですが、isだと自然に接頭辞になりますね。

その変数が真のとき、どういう状態か分かり易いよと何度も言っているのに、頑なに〜flgと命名する人がいます。

これの理由はいろいろ考えられます。
① その人が頑固(他人の意見で自分の意見を変える習慣がない)
② 何らかの理由で~flgの方が良いと思っている
③ ①と②をあわせたようなものですが、あなたの説明がその人から見て納得性がない。そもそも違う考えの人を説得するのは難しいです。相手が「他人の考えを取り入れて自分をより高めよう」という意識を抱いていない限りは、説得者がその道のプロ的な人でないと。別にあなたの説得方法が良くないと言うことではなくて、「他人の考えを取り入れて自分をより高めよう」という意識をもってない人に対しては、私も説得出来ないと思います。

念のために書いておきますが、「~flgがシステムハンガリアン的なので良くない」というのはそれを使っている人に対しては全く説得力が無いので、言わない方が良いです。
私の書いた範囲で説得に使えるかも知れないのは「isの方が肯定であることが明示されるが、flgとの関係が明示されていない」くらいですかね。ただおそらくすでに説明されたことだとは思います。

論理型のシステムハンガリアンはどう書くのだろうとWikipediaを見てみるとbfで、例がbDirtyFlagだったのは笑うところか。
https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%82%AC%E3%83%AA%E3%82%A2%E3%83%B3%E8%A8%98%E6%B3%95

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

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

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

関連した質問