KDOC 191: 仕様を検証するツールも提供するとよい
この文書のステータス
- 作成
- 2024-06-16 貴島
- レビュー
- 2024-06-20 貴島
検証
opencontainers/runtime-specはコンテナランタイムの仕様リポジトリである。ここではファイル仕様の検証ツールも提供していて、そのコマンドを使うことで仕様に則っているかを検証できる。
仕様を決めたときには、こうした独立した検証ツールも提供したほうがよさそうだ。具体的には、xeipuuv/gojsonschemaのようなライブラリを使って、JSONが必要なフィールドを持っているかなどを検証する。
また、仕様を使う側であれば、仕様の検証ツールの提供を求めたほうがよさそうだ。エクセルしかない仕様は腐る。策定時に仕様をどう担保するか、という議論もしなければならない。Web APIでOpenAPIを使って検証するようなことを、ほかの形式でもするとよい。
関連
抽象。
- 取り決めを文書だけでなく、機械で確かめられる形でも配る
- 確かめる手段のない取り決めは守られなくなる
関連。
- 具体例: KDOC 52: Goで構造体がインターフェースを実装しているか確認する。取り決めを機械で確かめられる形にする小さな例
- 類推: KDOC 184: 『イラストでわかるDockerとKubernetes』。同じくコンテナランタイムつながり