Arsip Tag: Tips

Gunakan Statemen ‘if’ Sesuai Kebutuhan

Jika tidak digunakan dengan benar statemen if menjerumuskan kedalam kebingungan. Apakah sama sekali harus dihindari? Tentu tidak karena keberadaannya membantu komputer kita bekerja sebagaimana harusnya.

Dalam skenario tertentu if sangat bermanfaat dan powerfull. Yang tidak baik menggunakannya secara berlebihan tidak pada tempatnya.

Perhatikan baris kode dibawah ini:

async validasiNIK(nikTerenkripsi) {
    const nik = await this.http.cekNik(nikTerenkripsi);
    if (!nik) {
        console.log(NotFoundError.message);
        return NotFoundError;
    }
    else if (nik.isTerblokir) {
        console.log(BlacklistedResponse.message);
        return BlacklistedResponse;
    }
    else if (nik.isDihapus) {
        console.log(DeletedResponse.message);
        return DeletedResponse;
    }
    else if (nik.status !== StatusNIK.active) {
        console.log(InactiveReponse.message);
        return InactiveResponse;
    }
    else {
        console.lg(ValidResponse.message);
        return ValidResponse;
    }
}

Terlalu banyak if tidak hanya membuat kode sukar dipahami juga harus memastikan semua pengkondisian benar. Artinya lebih banyak gulir keatas dan kebawah.

Kreasikan dengan menggabungkan AND (&&) dan OR (||). Tugas software engineer salah satunya memastikan semua kode ditulis se-efisien mungkin, memaksimalkan fungsi yang disediakan bahasa pemprograman.

Kode diatas disederhanakan menjadi:

async validasiNIK(nikTerenkripsi) {
    const nik = await this.http.cekNIK(nikTerenkripsi);

    const response =
          !nik && NotFoundResponse ||
          nik.isDihapus && DeleteResponse ||
          nik.isDiblokir && BlacklistedResponse ||
          nik.status !== StatusNik.active && InactiveResponse ||
          ValidResponse;

    console.log(response.message);
    return response;
}

Bandingkan mana yang lebih enak dibaca dan dipahami dari kedua baris kode diatas.