Maison > Article > développement back-end > 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'<'a'));
Code :
<code class="c">EXPECT("04 a char is 8 bits",CHAR_BIT==8);
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 class="c">EXPECT("05 int has the size of pointers",sizeof(int)==sizeof(void*));
3 . Hypothèses du pointeur :
Code :
<code class="c">EXPECT("10 void* can store function pointers",sizeof(void*)>=sizeof(void(*)()));</li> </ul> <p><strong>4. Hypothèses d'exécution :</strong></p> <ul> <li> <strong>Test :</strong> Testez si la pile croît toujours vers le bas.</li> <li> <p><strong>Code :</strong></p> <blockquote><pre class="brush:php;toolbar:false"><code class="c">EXPECT("12 the stack grows downwards",check_grow(5,0)<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!