Maison >développement back-end >C++ >Votre code C/C fait-il des hypothèses injustifiées ?
Comment cet outil pédagogique peut-il être amélioré ?
Pour améliorer l'efficacité de cet outil, tenez compte des suggestions suivantes :
Développez les cas de test : Incluez une plus grande variété de cas de test pour couvrir les hypothèses les plus courantes formulées par les programmeurs. Les exemples pourraient inclure :
Quels tests seraient bons et à quoi devraient-ils ressembler ?
1. Hypothèses de caractère :
Code :
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>
Code :
<code class="c">EXPECT("02 big letters come before small letters",('A'</code>
Code :
<code class="c">EXPECT("04 a char is 8 bits",CHAR_BIT==8);</code>
2. Hypothèses sur les entiers :
Code :
<code class="c">EXPECT("06 integers are 2-complement and wrap around",(int_max+1)==(int_min));</code>
Code :
<code class="c">EXPECT("05 int has the size of pointers",sizeof(int)==sizeof(void*));</code>
3 . Hypothèses du pointeur :
Code :
<code class="c">EXPECT("10 void* can store function pointers",sizeof(void*)>=sizeof(void(*)()));</code>
4. Hypothèses d'exécution :
Code :
<code class="c">EXPECT("12 the stack grows downwards",check_grow(5,0)</code>
Code :
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>
Voulez-vous effectuer les tests sur les plateformes sur lesquelles vous pouvez mettre la main et publier les résultats ?
Nous encourager la participation de la communauté pour tester les hypothèses sur différentes plateformes. Veuillez partager vos résultats avec les informations suivantes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!