Aturan Penulisan Script - JackMizh/Sisekar 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 spasi 4 mengikuti config phpcsfixer yang digunakan.

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()

Pada tahapan konversi struktur ke dari ci3 ke laravel, penamaan dari snack_case perlu diubah menjadi camelCase.

Contoh :
public fuction getLogStatusDasar()

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 space sebelum return dan sesudah break

Tambahkan 1 baris kosong sebelum menuliskan return danatau setelah menuliskan break

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

        return $var;
}

Tambahkan 1 baris kosong setelah menuliskan return atau break

switch ($var)
{
    case 0:
           // ...
	   break;

    case 1:
           // ...
           // no break
    case 2:
    case 3:
    case 4:
           // ...
           return;

    default:
           // ...
           break;
}

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 simpel dengan percabangan (if...else), maka menggunakan sintaks ternary.

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

  5. (opsional) Hindari sintaks '' (string kosong).

    Contohnya jika ada penggunaan sintaks ternary dan salah satu nilainya adalah string kosong seperti <div class=<?= $is_aktif ? 'active' : '' ?>> Maka gunakan kode <?php {kondisi TRUE} and print('output') ?> atau <?php {kondisi TRUE} or print('output negatif') ?>.

    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 salah: kode bercampur

    <script>
    var data = <?= json_encode($variabel_php) ?>
    
    // kode javascript lainnya
    <?php // kode php ?>
    // kode javascript
    
    for (x in <?= "kode php lagi" ?>) {
    	// kode js
    }
    </script>

    Contoh benar:

    <script>
    var data = <?= json_encode($variabel_php_di_tempatkan_paling_atas_pada_kode_javascript) ?>
    
    // kode javascript lainnya
    // dan tidak ada kode php lagi di sini
    </script>

Aturan UX

Tautan ke situs eksternal

Tautan ke URL eksternal (di luar aplikasi OpenSID) sebaiknya membuka tab browser baru (gunakan target='_blank') supaya tidak menggantikan/menutup halaman referensi dari 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

Penggunaan div class row dan col

<div class="box-body">
   <div class="row">
      <div class="col-sm-12">
          <b>Contoh</b>
      </div>
   </div>
</div>

Sama saja kalau di tulis :

<div class="box-body">
   <b>Contoh</b>
</div>

Gunakan div row dan col jika dibutuhkan pembagian layout.

<div class="box-body">
   <div class="row">
      <div class="col-sm-6">
          <b>Kiri</b>
      </div>
      <div class="col-sm-6">
          <b>Kanan</b>
      </div>
   </div>
</div>

Anda bisa melihat ERD dari aplikasi OpenSID Disini

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