funaのメモ φ( ・_・ )

セルフチェックメモ

最終更新:

匿名ユーザー

- view
管理者のみ編集可
セルフチェックリスト


< 設計 >

  • 設計
□ 文言、フォーマットが統一されているか
□ 1関数1機能になっているか
□ 関数名が適切か
□ 引数に過不足がないか
□ 関数のコールに無駄がないか、直感的にわかるか
□ 共通化できる処理/関数がないか
□ INSERT/DELETE/UPDATEのタイミングとキーの保持
□ INDEX/VIEWの検討
□ あらゆる仕様変更の可能性を考慮

  • 仕様
□ 有効桁数のチェック(四捨五入/切り捨て/切り上げ)
□ 演算順

  • 表示
□ 最大桁の場合と最小桁の場合の表示チェック(折り返しなど)
□ イベント毎の処理(ボタンの有効化/無効化/自動入力)
□ 子画面のオープンタイミング
□ 子画面のクローズタイミング
□ 表示フォーマットチェック(ゼロ埋め/カンマありなし)
□ 他機能のGUI/操作フローを継承しているか
□ 画面フローが適切か(戻ってこない画面がないか)

  • 操作
□ 直感的に操作できるか
□ 削れる個所がないか(デフォルト設定/エントリポイントを減らす)
□ エラー入力を抑止する作りになってるか
□ 処理速度
□ 複雑な場合は基本機能と付加機能で分解できないか


< 製造 ソース >

  • 引数
□ IN引数の妥当性チェックとエラー処理
□ OUT引数の初期化

  • 返却値
□ 正常時の返却値
□ 異常時の返却値

  • 変数
□ 変数名が適切か
□ コメントが適切か
□ 変数に入る値の最大値と最小値
□ 変数の型が適切か
□ 初期化子が設定されているか

  • 条件判定
□ 条件の網羅はできているか
□ 比較している変数の型が合っているか
□ 日付型比較の場合TRUNCしてるか
□ どれにもあてはまらない場合の処理(ELSE/DEFAULT)

  • ループ
□ 前判定か後判定か
□ 1回もループが回らなかった場合
□ マッチング検索で見つからなかった場合
□ FETCHで1レコードも取れなかった場合
□ 最初のループと最後のループの値
□ 変数の初期化が必要か

  • 演算
□ ゼロ乗算・除算の可能性がないか
□ NULLの演算の可能性がないか
□ 演算順の妥当性
□ 桁落ち(有効桁数のチェック)
□ 丸め誤差

  • エラー処理
□ エラー処理個所とエラー処理内容が適当か
□ 統合できるエラー処理個所がないか

  • 全体
□ 統合できる条件判定/ループはないか
□ ループの回数と妥当性
□ 共通化できる処理がないか
□ 関数の長さが適当か

  • 表示
□ 有効桁数のチェック(四捨五入/切り捨て/切り上げ)
□ 表示フォーマットチェック(ゼロ埋め/カンマありなし)
□ 最大桁の場合と最小桁の場合の表示チェック(折り返しなど)
□ 吐き出したHTMLソースのチェック


< 製造 SQL >

□ テーブル結合を行う場合テーブル別名がついてるか、
またすべてのフィールド名が 別名.フィールド名 になっているか
□ キーと結合条件が適当か(1:1 / 1:N)
□ 抽出条件(WHERE句でもっと絞れないか)
□ 取得フィールドがNULLの場合(NOT NULL制約があるか)
□ ゼロ乗算・除算の可能性がないか
□ NULLの演算の可能性がないか
□ 演算順の妥当性
□ 桁落ち(有効桁数のチェック)
□ 丸め誤差
□ 速度
□ 統計情報(FULL SCANのテーブルがないか)
□ INDEX/VIEWの検討

< 単体試験 >

□ 項目書の文言、フォーマットが統一されているか
□ 条件判定の項目が網羅されているか
□ ループの最小値/最大値の項目が網羅されているか
□ 返却値の正常値/異常値の網羅
□ 試験データがそろっているか(キーが1:1/1:N)
記事メニュー
目安箱バナー