funaのメモ φ( ・_・ )
セルフチェックメモ
最終更新:
匿名ユーザー
-
view
セルフチェックリスト
< 設計 >
- 設計
□ 文言、フォーマットが統一されているか
□ 1関数1機能になっているか
□ 関数名が適切か
□ 引数に過不足がないか
□ 関数のコールに無駄がないか、直感的にわかるか
□ 共通化できる処理/関数がないか
□ INSERT/DELETE/UPDATEのタイミングとキーの保持
□ INDEX/VIEWの検討
□ あらゆる仕様変更の可能性を考慮
□ 1関数1機能になっているか
□ 関数名が適切か
□ 引数に過不足がないか
□ 関数のコールに無駄がないか、直感的にわかるか
□ 共通化できる処理/関数がないか
□ INSERT/DELETE/UPDATEのタイミングとキーの保持
□ INDEX/VIEWの検討
□ あらゆる仕様変更の可能性を考慮
- 仕様
□ 有効桁数のチェック(四捨五入/切り捨て/切り上げ)
□ 演算順
□ 演算順
- 表示
□ 最大桁の場合と最小桁の場合の表示チェック(折り返しなど)
□ イベント毎の処理(ボタンの有効化/無効化/自動入力)
□ 子画面のオープンタイミング
□ 子画面のクローズタイミング
□ 表示フォーマットチェック(ゼロ埋め/カンマありなし)
□ 他機能のGUI/操作フローを継承しているか
□ 画面フローが適切か(戻ってこない画面がないか)
□ イベント毎の処理(ボタンの有効化/無効化/自動入力)
□ 子画面のオープンタイミング
□ 子画面のクローズタイミング
□ 表示フォーマットチェック(ゼロ埋め/カンマありなし)
□ 他機能のGUI/操作フローを継承しているか
□ 画面フローが適切か(戻ってこない画面がないか)
- 操作
□ 直感的に操作できるか
□ 削れる個所がないか(デフォルト設定/エントリポイントを減らす)
□ エラー入力を抑止する作りになってるか
□ 処理速度
□ 複雑な場合は基本機能と付加機能で分解できないか
□ 削れる個所がないか(デフォルト設定/エントリポイントを減らす)
□ エラー入力を抑止する作りになってるか
□ 処理速度
□ 複雑な場合は基本機能と付加機能で分解できないか
< 製造 ソース >
- 引数
□ IN引数の妥当性チェックとエラー処理
□ OUT引数の初期化
□ OUT引数の初期化
- 返却値
□ 正常時の返却値
□ 異常時の返却値
□ 異常時の返却値
- 変数
□ 変数名が適切か
□ コメントが適切か
□ 変数に入る値の最大値と最小値
□ 変数の型が適切か
□ 初期化子が設定されているか
□ コメントが適切か
□ 変数に入る値の最大値と最小値
□ 変数の型が適切か
□ 初期化子が設定されているか
- 条件判定
□ 条件の網羅はできているか
□ 比較している変数の型が合っているか
□ 日付型比較の場合TRUNCしてるか
□ どれにもあてはまらない場合の処理(ELSE/DEFAULT)
□ 比較している変数の型が合っているか
□ 日付型比較の場合TRUNCしてるか
□ どれにもあてはまらない場合の処理(ELSE/DEFAULT)
- ループ
□ 前判定か後判定か
□ 1回もループが回らなかった場合
□ マッチング検索で見つからなかった場合
□ FETCHで1レコードも取れなかった場合
□ 最初のループと最後のループの値
□ 変数の初期化が必要か
□ 1回もループが回らなかった場合
□ マッチング検索で見つからなかった場合
□ FETCHで1レコードも取れなかった場合
□ 最初のループと最後のループの値
□ 変数の初期化が必要か
- 演算
□ ゼロ乗算・除算の可能性がないか
□ NULLの演算の可能性がないか
□ 演算順の妥当性
□ 桁落ち(有効桁数のチェック)
□ 丸め誤差
□ NULLの演算の可能性がないか
□ 演算順の妥当性
□ 桁落ち(有効桁数のチェック)
□ 丸め誤差
- エラー処理
□ エラー処理個所とエラー処理内容が適当か
□ 統合できるエラー処理個所がないか
□ 統合できるエラー処理個所がないか
- 全体
□ 統合できる条件判定/ループはないか
□ ループの回数と妥当性
□ 共通化できる処理がないか
□ 関数の長さが適当か
□ ループの回数と妥当性
□ 共通化できる処理がないか
□ 関数の長さが適当か
- 表示
□ 有効桁数のチェック(四捨五入/切り捨て/切り上げ)
□ 表示フォーマットチェック(ゼロ埋め/カンマありなし)
□ 最大桁の場合と最小桁の場合の表示チェック(折り返しなど)
□ 吐き出したHTMLソースのチェック
□ 表示フォーマットチェック(ゼロ埋め/カンマありなし)
□ 最大桁の場合と最小桁の場合の表示チェック(折り返しなど)
□ 吐き出したHTMLソースのチェック
< 製造 SQL >
□ テーブル結合を行う場合テーブル別名がついてるか、
またすべてのフィールド名が 別名.フィールド名 になっているか
□ キーと結合条件が適当か(1:1 / 1:N)
□ 抽出条件(WHERE句でもっと絞れないか)
□ 取得フィールドがNULLの場合(NOT NULL制約があるか)
□ ゼロ乗算・除算の可能性がないか
□ NULLの演算の可能性がないか
□ 演算順の妥当性
□ 桁落ち(有効桁数のチェック)
□ 丸め誤差
□ 速度
□ 統計情報(FULL SCANのテーブルがないか)
□ INDEX/VIEWの検討
またすべてのフィールド名が 別名.フィールド名 になっているか
□ キーと結合条件が適当か(1:1 / 1:N)
□ 抽出条件(WHERE句でもっと絞れないか)
□ 取得フィールドがNULLの場合(NOT NULL制約があるか)
□ ゼロ乗算・除算の可能性がないか
□ NULLの演算の可能性がないか
□ 演算順の妥当性
□ 桁落ち(有効桁数のチェック)
□ 丸め誤差
□ 速度
□ 統計情報(FULL SCANのテーブルがないか)
□ INDEX/VIEWの検討
< 単体試験 >
□ 項目書の文言、フォーマットが統一されているか
□ 条件判定の項目が網羅されているか
□ ループの最小値/最大値の項目が網羅されているか
□ 返却値の正常値/異常値の網羅
□ 試験データがそろっているか(キーが1:1/1:N)
□ 条件判定の項目が網羅されているか
□ ループの最小値/最大値の項目が網羅されているか
□ 返却値の正常値/異常値の網羅
□ 試験データがそろっているか(キーが1:1/1:N)