Aturan Penulisan Script - redjoel/OpenSID GitHub Wiki

Semua penambahan atau perubahan pada script PHP pada OpenSID harus mengikuti aturan yang diuraikan berikut ini.

Ikuti aturan seperti dijelaskan di daftar tautan berikut. Di mana ada perbedaan gunakan aturan sesuai urutan tautan, kecuali ditentukan di bagian Contoh dan Penjelasan. Yaitu, aturan di bagian Contoh dan Penjelasan selalu diutamakan.

  1. Codeigniter PHP Style Guide
  2. PSR-1
  3. PSR-2

Contoh dan Penjelasan

Indentasi

Indentasi gunakan tab (bukan spasi) dengan tab-width = 2.

Pada script editor, selalu gunakan setting untuk menghapus spasi setelah akhir statement (trailing spaces), pada waktu menyimpan berkas.

Penamaan method

Nama method harus seluruhnya terdiri dari huruf kecil dan menunjukkan fungsinya secara jelas, sebaiknya menggunakan kata kerja. Kalau berisi beberapa kata, hubungkan menggunakan underscore (_).

Jangan gunakan prefix underscore(_), termasuk jangan membubuhi underscore sebelum nama method yang bersifat private. Melainkan selalu gunakan deklarasi private atau public pada setiap method untuk menunjukkan status visibility-nya.

Contoh:

public function get_log_status_dasar()

Penamaan variabel

Nama variabel harus seluruhnya terdiri dari huruf kecil dan menunjukkan fungsinya secara jelas. Kalau berisi beberapa kata, hubungkan menggunakan underscore (_).

Contoh:

penolong_kelahiran

Penggunaan kurung kurawal

Mengikuti Codeigniter PHP Style Guide, kurung kurawal untuk fungsi dan struktur kontrol diletakkan di baris tersendiri, seperti contoh berikut:

function foo($bar)
{
        // ...
}

foreach ($arr as $key => $val)
{
        // ...
}

if ($foo == $bar)
{
        // ...
}
else
{
        // ...
}

Komentar script

Pada script yang rumit atau ada kekhususan, tuliskan komentar untuk membantu maintenance nantinya.

Khusus untuk views, ikuti aturan berikut:

  1. Selalu menggunakan PHP di dalam HTML bukan sebaliknya.

  2. Selalu menggunakan tag pembuka PHP <?php daripada hanya <?, kecuali untuk output sebaiknya menggunakan <?=.

  3. Selalu menggunakan sintak <?= $variabel ?> daripada <?php echo $variabel ?> untuk output variabel PHP

  4. Jika ada kasus output variabel dengan suatu kondisi (if...else), maka menggunakan sintak ternary.

    Contoh: <?= $status_aktif ? 'Aktif' : 'Tidak Aktif' ?>

  5. (opsional) Hindari output seperti '' (string kosong).

    Jika ada kasus sintax ternary dan salah satu nilainya adalah string kosong seperti <?= $aktif ? 'aktif' : '' ?> Maka lebih baik menggunakan <?php, and atau or, dan print().

    Contoh:

    <div class="<?php $is_aktif and print('active') ?>">
    
    <input type="checkbox" <?php $is_aktif and print('checked') ?>>
    
    <input type="submit" <?php $is_aktif or print('disabled') ?>>
  6. Jangan menggunakan kurung kurawal pada blok PHP (if, foreach). Gunakan syntax struktur kontrol alternatif.

    <?php if ($kondisi): ?>
    	...
    <?php elseif ($kondisi_lagi): ?>
    	...
    <?php else: ?>
    	...
    <?php endif ?>
    
    <?php foreach($array as $item): ?>
    	...
    <?php endforeach ?>
  7. Sebaiknya tidak ada kode PHP di kode Javascript.

  8. Jika terpaksa harus ada PHP di Javascript, maka hanya output variabel yang boleh dimasukan sebagai nilai pada variabel javascript dan harus diletakkan paling atas pada blok javascript.

    Contoh:

    <script>
    var data = <?= json_encode($variabel_php) ?>
    
    // kode javascript lainnya
    </script>

Aturan UX

Tautan ke situs eksternal

Tautan ke URL eksternal (di luar aplikasi OpenSID) sebaiknya membuka tab browser baru (gunakan target='_blank') dan tidak menggantikan/menutup halaman berisi tautan tersebut.

Judul tombol form isian

Gunakan judul tombol di form isian sebagai berikut, dan letakkan semuanya di bagian bawah form:

  • "Kembali" untuk tombol keluar dari form isian tanpa menyimpan data
  • "Batal" untuk tombol mengembalikan perubahan isian data menjadi seperti semula
  • "Simpan" untuk tombol menyimpan pengisian/perubahan isian data

Judul tombol form modal

Gunakan judul tombol di form modal sebagai berikut, dan letakkan semuanya di bagian bawah form:

  • "Tutup" menutup form modal tanpa melakukan perubahan
  • "Simpan" untuk tombol menyimpan pengisian/perubahan isian data. Tombol ini juga menutup form.

Penggunaan Style dari class CSS

Sebaiknya jangan menggabungkan style ke dalam kode, usahakan penggunaan style menggunakan class yang mengarah ke file css

⚠️ **GitHub.com Fallback** ⚠️