2023 年 40 巻 1 号 p. 1_57-1_82
ソフトウェア開発において,開発者が守るべきと考えるようなコーディングスタイルに関する基準(コーディング規約)が存在する.しかし,実際の開発プロジェクトで必ずしも遵守されているとは限らない.我々は,OSSの1,000 プロジェクトのリポジトリを対象に,C++向けコーディング規約準拠検査ツールCpplintに実装された 87 種類のコーディング規約に対するコーディング規約違反の発生と,発生した違反へのリファクタリング等による対処の状況を調査した.その結果,多くのプロジェクトで開発者が「あたりまえ」に守っており,あまり違反が発生せずに発生しても対処される傾向が強い規約と,逆に多くのプロジェクトで開発者にあまり意識されず違反が多く発生し,発生した違反に対しても無視される傾向が強い規約が存在することを確認した.また,遵守の傾向が開発期間内で変化するかどうかを調査したところ,IDEにより自動修正が行われる一部の規約については,プロジェクトの特定期間で遵守の傾向が変化するプロジェクト数が,他の規約とは有意に異なり多いことを確認した.それらの規約については,開発者により守るべきという共通認識が形成されていない状況において,IDEの自動修正により開発者の意図と関係なく結果的に遵守している可能性があることを示唆している.