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.
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.
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()
- https://github.com/alexeymezenin/laravel-best-practices/blob/master/indonesia.md
- https://santrikoding.com/laravel-best-practices
Nama variabel harus seluruhnya terdiri dari huruf kecil dan menunjukkan fungsinya secara jelas. Kalau berisi beberapa kata, hubungkan menggunakan underscore (_).
Contoh:
penolong_kelahiran
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;
}
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
{
// ...
}
Pada script yang rumit atau ada kekhususan, tuliskan komentar untuk membantu maintenance nantinya.
-
Selalu menggunakan PHP di dalam HTML bukan sebaliknya.
-
Selalu menggunakan tag pembuka PHP
<?php
daripada hanya<?
, kecuali untuk output sebaiknya menggunakan<?=
. -
Selalu menggunakan sintak
<?= $variabel ?>
daripada<?php echo $variabel ?>
untuk output variabel PHP -
Jika ada kasus output simpel dengan percabangan (if...else), maka menggunakan sintaks ternary.
Contoh:
<?= $is_aktif ? 'Aktif' : 'Tidak Aktif' ?>
-
(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') ?>>
-
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 ?>
-
Sebaiknya tidak ada kode PHP di kode Javascript.
-
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>
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.
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
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.
Sebaiknya jangan menggabungkan style ke dalam kode, usahakan penggunaan style menggunakan class yang mengarah ke file css
<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