コードレビュー #2169
完了ND10060_運賃契約基本情報 コードレビュー 第2弾!の戻り
0%
ファイル
渡邉 拓英 さんが1年以上前に更新 · 編集済み
- ファイル clipboard-202506301001-orqdr.png を追加
- ファイル clipboard-202506301002-tvdfo.png を追加
・プロパティ一覧.入力店所コードについて
以前にも伝えましたが、設計書とPGは内容を合わせてください。
(レベル感は案件によりますが、一般的に考えて「同じ」はずです)
設計書に「プロパティ一覧.入力店所コード」と記載があるのであれば、コーディングすべき。
でなければ、設計書が「コミュエリア.事業所コード」であるべき
プロパティ一覧.入力店所コードの値を設定する(取得元)の記載が一切ありません。
この設計書から、このコーディングは不可能です。


・・・OK
渡邉 拓英 さんが1年以上前に更新 · 編集済み
- ファイル clipboard-202506301013-xua3j.png を追加
- ファイル clipboard-202506301017-voy4q.png を追加
- ファイル clipboard-202506301018-onnih.png を追加
- ファイル clipboard-202506301018-cm9ec.png を追加
- ファイル clipboard-202506301019-0jszn.png を追加
- ファイル clipboard-202506301019-uawm0.png を追加
- ファイル clipboard-202506301020-d5hgh.png を追加
プロパティ一覧 諸料金不可条件適用除外料金_有無フラグ
設計書の出現ヶ所






コード上では、下記が存在する。

・・・OK
渡邉 拓英 さんが1年以上前に更新 · 編集済み
- ファイル clipboard-202506301023-7yeyu.png を追加
- ファイル clipboard-202506301024-jv4kc.png を追加
- ファイル clipboard-202506301024-ateiw.png を追加
- ファイル clipboard-202506301024-q15ma.png を追加
- ファイル clipboard-202506301024-s8ppg.png を追加
- ファイル clipboard-202506301025-5klpb.png を追加
- ファイル clipboard-202506301026-cmwtz.png を追加
- ファイル clipboard-202506301026-ki0vc.png を追加
プロパティ一覧 一律の運賃変更区分
実装とコーディングが合っていない。








・・・OK
渡邉 拓英 さんが1年以上前に更新 · 編集済み
// 運賃契約区分 == '00' OR '30' OR '40' OR '25' OR '26' OR '28' OR '29' OR '50' OR '60' の場合
Set<String> refList = new HashSet<>(Set.of("00", "30", "40", "25", "26", "28", "29", "50", "60"));
if (refList.contains(form.getND1200003())) {
特に決まりはありませんが
他の機能で既にArraysで記述しています。
大きな意味が無ければ、書き方を合わせましょう。
if (Arrays.asList("11", "21", "31").contains(inputKubun)) {
・・・OK
渡邉 拓英 さんが1年以上前に更新 · 編集済み
- ファイル clipboard-202506301405-awpuk.png を追加
- ファイル clipboard-202506301407-x3lad.png を追加
設計書とPGが異なる。

以下のチェックは赤線部分だと思いますが。
未入力チェックのタイミングで「以下は行なわない」と指示であれば
設計書通りだと下記になると思います。
これを踏まえ、設計書・PGのあるべき形を考え直してください。全体的に。

ちなみに、「チェック時の処理」は、何時、どんな条件でやるのか記載してください。
今回の場合、チェック前なのか、あとなのか、未入力時なのか、記載がありません。
(処理に曖昧さが発生しています。Aさんはチェック前に行うかもしれません、Bさんはチェック後に一律行うかもしれません。)
・・・OK
渡邉 拓英 さんが1年以上前に更新 · 編集済み
- ファイル clipboard-202506301419-hquic.png を追加

// 妥当性チェック
if ("0".equals(form.getND1200009()) || "1".equals(form.getND1200009()) || "2".equals(form.getND1200009())
|| "3".equals(form.getND1200009())) {
} else {
// それ以外の場合
baseAddError(bindingResult, "ND1200009", "ERR01");
}
無駄にコードが長いのは、理解するのに時間がかかりますし。
何より綺麗でないです。
Arraysを使用し完結に書いてください。
また、必要以上に1行で行ったり、処理を詰め込むのも、見難いです。
適切な加減を覚えていきましょう。
(案件やメンバー間のレベルにより書き方も変わってきます。)
書きやすい・読みやすい・改修しやすいは、重要なファクターです。
・・・OK
渡邉 拓英 さんが1年以上前に更新 · 編集済み
- ファイル clipboard-202506301434-wreut.png を追加
' 'なのか、''なのか何が正解かわかりません。
設計書に「※未入力時、この項目の以下のチェックを行わない。」とありますが、実装に無い。
チェック内容では' '(設計書では) ''(実装では)がOKだと記載がある。
いろいろ辻褄が合わない

// ND1200024 上限全国適用区分
// 形式チェック
if ("true".equals(LSS1010.isEmptyNull(form.getND1200024()))) {
// 初期表示の値をセット
form.setND1200024(stvkcun1w.getKNO2NO1K());
}
// 文字数チェック
baseCharCountCheck(form, bindingResult, errors, "ND1200024", "上限全国適用区分", 1, "ERR01");
// 妥当性チェック
if ("".equals(form.getND1200024()) || "0".equals(form.getND1200024()) || "1".equals(form.getND1200024())) {
} else {
// それ以外の場合
baseAddError(bindingResult, "ND1200024", "ERR01");
}
・・・OK
渡邉 拓英 さんが約1年前に更新 · 編集済み
- ファイル clipboard-202508211307-2wd3j.png を追加
- ファイル clipboard-202508211309-wrzxa.png を追加
- ファイル clipboard-202508211309-v4v5v.png を追加
- ファイル clipboard-202508211309-sdtw7.png を追加
- ファイル clipboard-202508211310-agzsy.png を追加
ND1200003 運賃契約区分

任意入力で「0埋め」しない
判定が、統一されていない。




入力パターン
「] 空
「 ] 半角スペース
「 ] 半角スペース半角スペース
「0] 0
「0 ] 0半角スペース
「 0] 半角スペース0
「00] 00
>>>おそらく、トリムした値を左0埋めするのが正解では?
また、空の場合、0として扱ってもよいか?エラーとなるべきか?空で良い&0と違う扱いか?(必須入力?)
渡邉 拓英 さんが約1年前に更新 · 編集済み
- ファイル clipboard-202508211359-9b0a2.png を追加
- ファイル clipboard-202508211404-gngkw.png を追加
ND1200024 上限全国適用区分
今回はこのままでOKです。(今後の設計・実装時に意識してください)

// 上限全国適用区分 = ' ' OR '0' OR '1' 以外の場合
if (Arrays.asList(" ", "0", "1").contains(form.getND1200024())) {
のところ
今回、入力項目が、全て半角スペースの場合、空として扱うのがほとんどのパターンになると思います。
LSS1010.isEmptyNullは、下記で"true"
・null
・空(文字数:0)
・半角スペースが何文字か
" "のパターンは未入力とみなしています。
また、「" "と等しい場合」等と書かれると、空のチェックなのか、半角スペース1文字の判定かわかりません。

など、参考にしてください。
渡邉 拓英 さんが約1年前に更新 · 編集済み
- ファイル clipboard-202508211451-isk4t.png を追加
- ファイル clipboard-202508211453-h5qbe.png を追加
- ファイル clipboard-202508211457-6nxu6.png を追加
ND1200034 引取税転嫁率 整数
ND1200035 引取税転嫁率 小数

フォーマット指定なし。
小数部で入力されるパターン
「」
「 」
「 」
「9」
「9 」
「 9」
「99」
全て大丈夫?
編集(フォーマット)
ND1200035 →9
ND1200034 →99 では?

form.setND1200035("0");
↓
form.setND1200035("00");
では?

整数部 + 小数部 → BigDecimal
"1" + "23" → 123
合っている?
1.23になるべきでは?
整数部がスペース
小数部もスペースありのパターンは想定されているか?
例:" " + "." + " 1"
渡邉 拓英 さんが約1年前に更新 · 編集済み
- ファイル clipboard-202508211513-iisuh.png を追加
- ファイル clipboard-202508211514-oxp8f.png を追加
- ファイル clipboard-202508211514-np0mv.png を追加
ND1200044 サーチャージ掛率 整数
ND1200045 サーチャージ掛率 小数

if (!Integer.valueOf("78").equals(Integer.valueOf(form.getND1200041()))
&& !Integer.valueOf("1000").equals(Integer.valueOf(form.getND1200044()) + Integer.valueOf(form.getND1200045()))) {
この場合、整数*10 + 小数 ???
ここも(スペースを入力しても大丈夫?)


渡邉 拓英 さんが約1年前に更新 · 編集済み
- ファイル clipboard-202509021552-iz1pa.png を追加
- ファイル clipboard-202509021554-mw6ut.png を追加
- ファイル clipboard-202509021556-figu7.png を追加
- ファイル clipboard-202509021556-gts5f.png を追加
- ファイル clipboard-202509021557-weqjt.png を追加
- ファイル clipboard-202509021602-f62ks.png を追加
◆ND1200003 運賃契約区分
0埋めの件 記述方法が違う。「設計書作成ルール.xlsx」に従う事。



こうなるべき ※例



















