プロジェクトで数千行の複雑なマルチスレッド「C」コードを書き終えたばかりの開発者として、将来このコードに不慣れな他の開発者によって拡張、変更などが行われる予定です。皆さんは、そのようなコードにどのようなセーフティ ネットを入れようとしていますか? 例として、私はこれらを行うことができます:
- 対応するロックが保持されていることをアサートする、ロックで保護された構造体メンバーのアクセサー マクロを定義します。これにより、このコードに不慣れな人には、これらのメンバーがロックで保護されていることが明確になります。
- スピンロックが保持された状態で呼び出されるはずの関数は、スピンロックが保持されていることをアサートします。
あなたが書いたマルチスレッド コードには、どのようなセーフティ ネットが組み込まれていますか?
他の開発者がそのようなコードを変更したときに、どのような問題に直面しましたか?
そのようなコードには、どのような種類のデバッグ支援が組み込まれていますか?
コメントしてくれてありがとう。