#author("2024-01-08T00:17:32+00:00;2021-12-10T12:51:32+00:00","default:hotate","hotate")
#author("2024-01-08T00:18:18+00:00;2021-12-10T12:51:32+00:00","default:hotate","hotate")
#contents
&tag(ソフトウェア,開発,仕様書,品質);
&tag(ソフトウェア,開発プロセス,仕様書,品質);

* 方針 [#ze97c5f0]
+ 手作業はミスの元凶。可能な限り自動化を推し進めること。

* 環境 [#xd37734b]
** 開発環境 [#b9d99571]
+ 使用しているOS、IDE、プラグイン、ライブラリのバージョン情報を記録しておくこと。
+ 参照したコード、ライブラリの入手元を記録しておくこと。

** リポジトリ [#s55f24eb]
+ SubversionやMercurialリポジトリを用意すること。
+ Tracを用意すること。

* ドキュメント [#n44b1dcd]
** APIドキュメント [#bfc64fb1]
+ [[Doxygen]], [[Shpinx]]などで自動的にドキュメントを作成すること。

** [[UML]] [#z109a26f]
+ [[UML]]図面は[[EnterpriseArchitect]]で作成すること。
++ クラス図は[[EnterpriseArchitect]]でリバース作成すると手っ取り早い。
+ [[PlantUML]]を使って作成処理を簡略化すること。

* ソースコード [#dcace170]
** 事前・事後検証 [#x34bdaaa]
+ Assertによりメソッドや関数呼び出し時の事前・事後検証を確認すること。
+ tmpフォルダや生成物の出力フォルダは、実行前に削除する。(処理が失敗した場合に、以前の成果物と混同しないようにする為)

** コメント [#v6a3843f]
+ 処理内容を簡潔にコメントとして記載すること。

** ログ [#ic570087]
+ 処理状況をログファイルへ出力すること。
+ 出力したログファイルは適宜削除すること。(無限に増えてしまう状態の防止)
+ バージョン、ビルド番号等のアプリケーション情報を出力すること。
+ 標準出力と標準エラー出力が混在する場合があるので注意すること。(大抵の場合、標準エラー出力の方が先に出る)

** 例外 [#r83b439c]
+ 例外を無視せず、呼び出し側に必ず通知すること。

** ビルド [#c14f8306]
+ コンパイル時にエラー、警告が一切出ないこと。
+ スクリプトを用意して必要なパッケージ作成の自動化を行うこと。

** ユニットテスト [#tcaca3e5]
+ 可能な限りユニットテストコードを作成して自動的な検証を行うこと。
+ カバレッジレポートを生成してテストされていない箇所を確認すること。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS