スレ立てるまでもない質問はここで 164匹目 (52レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
42: デフォルトの名無しさん (ワッチョイ ffc0-YJuU) [sage] 2023/12/28(木) 09:11:59.14 ID:i2ZdA1S00(1/2) AAS
>>41
41(5): デフォルトの名無しさん (ワッチョイ 338a-pDLy) [] 2023/12/28(木) 04:24:08.06 ID:NBXduxv20(1) AAS
フラグ管理の効率的な方法を教えて下さい。
作成中の社内向け事務アプリなんですが、判定要素が多くなりすぎて毎回読む度に悩みます。

ユーザーに割り当てられた権限や日時による分岐がめっちゃ多いです。
例えば、シンプルなやつだと下記みたいな感じです。
※権限には、種類とランクがあります。

・権限Aを持っているユーザーB〜Eが、日時F〜Gの間に許可した時だけ、
 ユーザーH・Iが日時J〜Kの間だけ権限L・Mを付与されて、
 その権限を行使して処理NまたはOを合計2回行った時に、その権限を付与したユーザー(B〜E)の権限PをQ〜Rの期間降格する。
・フラグにfindFlagみたいな不適切な名前をつけない
grantedのような過去分詞にする
・真偽値の変数をなるべく減らす
関数のロジックで表現して意味が通る単位で適度に分割する
・権限に関する判定を他のロジックから独立させる
たとえば権限判定クラスを作って、コンストラクタでユーザを与える
他のロジックからは、権限があるか?というメソッドだけを呼ぶ
権限の判定処理に興味があるときはその内側のソースのみを追えば良く、その逆も然りとする
47: デフォルトの名無しさん (ワッチョイ ffc0-YJuU) [sage] 2023/12/28(木) 12:28:12.86 ID:i2ZdA1S00(2/2) AAS
フラグはグローバル変数、staticに次いで初心者やレガシープログラマーが乱用しがちな三種の神器だと思う
専門用語らしさがあるし使いたくなるんだろうな
StrategyパターンやStateパターン、関数型プログラミングの考え方をざっと覚えるだけでもだいぶ変わると思う
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s