要約 たとえば、警告を発する C++ 静的解析ツール (Lint) を使用し、それらを処理してから、NOTREACHED などのコメントを追加してこれらの警告を黙らせます (詳細については、 LINT リファレンス マニュアルを参照してください)。
int foo (char *s) {
if (NULL == s)
{
fatal("s is null in foo");
/*NOTREACHED*/
}
}
これらのコメントのより良い場所についてのアイデアはありますか?
問題の定義 //MULTIBYTE コメントを使用して沈黙させる自家製の分析ツールがあります。
// check allowed values here:
m_VIDEdit.GetWindowText(str1);//MULTIBYTE: passed 10/22/2013
int size1 = str1.GetLength();
int size2 = str2.GetLength();
if( !_tcsncmp( (LPCSTR)str1, (LPCSTR)str2, min( size1, size2 ) ) ) { // allow to edit default string
; //OK
}
С++ コードを過大評価せずにツールを沈黙させるために、これらのコメントのより良い場所に関するアイデアはありますか? (ツール自体は任意の方法で変更できます)
考えられる解決策 私の考えは、.patch ファイルに似た構造の外部ファイルを使用することです。たとえば、XXXWizard/XXXWizard.comments ファイルには次の内容が含まれます。
Index: XXXWizard/XXXWiz_Page.cpp
===================================================================
--- XXXWizard/XXXWiz_Page.cpp (revision 750)
+++ XXXWizard/XXXWiz_Page.cpp (working copy)
@@ -454,11 +454,11 @@
CString str2 = DEFAULT_VID_VALUE_DDR3;
// check allowed values here:
- m_VIDEdit.GetWindowText(str1);
+ m_VIDEdit.GetWindowText(str1);//MULTIBYTE: passed 10/22/2013
int size1 = str1.GetLength();
int size2 = str2.GetLength();
- if( !_tcsnccmp( (LPCSTR)str1, (LPCSTR)str2, min( size1, size2 ) ) ) { // allow to edit default string
+ if( !_tcsncmp( (LPCSTR)str1, (LPCSTR)str2, min( size1, size2 ) ) ) { // allow to edit default string
; //OK
} else { /// if it is not default string - allow only numbers here
m_Owner->CheckEditNumberEntry(&m_VIDEdit, true, 5000, -10);
しかし、もっと良い方法があるのではないでしょうか?