Singkatnya, selalu pastikan bahwa variabel yang kamu pakai sudah diberi nilai tertentu sebelum kamu gunakan untuk operasi lain; utamanya di bahasa pemrograman C++ yang relatif lebih tidak disiplin dibanding C.

 

Contoh baik:

double *x_min, *x_max, *y_min, *y_max;
x_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
x_max = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_max = (double *) malloc(sizeof(double)*MARKER_COUNT);

double moment_x_temp, moment_y_temp, mass_temp;

image_height = image.rows;
image_width = image.cols;

for (int i=0; i<MARKER_COUNT; i++){
y_min[i]= image_height;
x_min[i]= image_width;

}

 
Contoh kurang baik:

double *x_min, *x_max, *y_min, *y_max;
x_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
x_max = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_max = (double *) malloc(sizeof(double)*MARKER_COUNT);

double moment_x_temp, moment_y_temp, mass_temp;

for (int i=0; i<MARKER_COUNT; i++){
y_min[i]= image_height;
x_min[i]= image_width;
}

image_height = image.rows;
image_width = image.cols;

Kekurangbaikannya ini yang susah diprediksi, isi aray y_min dan x_min bakal diambil dari bagian statis kode program yang entah isinya apa. Dijamin proses yang bersangkutan dengan variabel tersebut bakal memiliki keanehan-keanehan macam “nilai ini dapat dari mana, sih?”.

senyummu bagai cyanoacrylate:

jernih,

lumer,

terlindung.

sekalinya kukecup…

macam pagi ini,

manisnya terasa jelas di lidahku,

kemudian mengering di gigi-gigiku, lidah, dan langit-langit mulut.

membekas…

nempel di sela gigi geraham.