Rumah > Artikel > pembangunan bahagian belakang > Adakah Kod C/C Anda Membuat Andaian Tidak Wajar?
Bagaimanakah alat pendidikan ini boleh diperbaiki?
Untuk meningkatkan keberkesanan alat ini, pertimbangkan cadangan berikut:
Kembangkan kes ujian: Sertakan pelbagai jenis kes ujian untuk merangkumi lebih banyak andaian biasa yang dibuat oleh pengaturcara. Contohnya boleh termasuk:
Ujian manakah yang bagus dan bagaimanakah rupanya?
1. Andaian Watak:
Kod:
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>
Kod:
<code class="c">EXPECT("02 big letters come before small letters",('A'<'a'));
Kod:
<code class="c">EXPECT("04 a char is 8 bits",CHAR_BIT==8);
2. Andaian Integer:
Kod:
<code class="c">EXPECT("06 integers are 2-complement and wrap around",(int_max+1)==(int_min));
Kod:
<code class="c">EXPECT("05 int has the size of pointers",sizeof(int)==sizeof(void*));
3 . Andaian Penunjuk:
Kod:
<code class="c">EXPECT("10 void* can store function pointers",sizeof(void*)>=sizeof(void(*)()));</li> </ul> <p><strong>4. Andaian Pelaksanaan:</strong></p> <ul> <li> <strong>Ujian:</strong> Uji jika tindanan sentiasa tumbuh ke bawah.</li> <li> <p><strong>Kod:</strong></p> <blockquote><pre class="brush:php;toolbar:false"><code class="c">EXPECT("12 the stack grows downwards",check_grow(5,0)<0);</code>
Kod:
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>
Adakah anda akan menjalankan ujian pada platform yang anda boleh dapatkan dan menyiarkan keputusannya?
Kami menggalakkan penyertaan komuniti dalam menguji andaian pada platform yang berbeza. Sila kongsi keputusan anda bersama-sama dengan maklumat berikut:
Atas ialah kandungan terperinci Adakah Kod C/C Anda Membuat Andaian Tidak Wajar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!