Sapawarga
  • Pendahuluan
  • Tentang Dokumen
  • Sistematika Penulisan
  • Documentation
    • Deskripsi Umum Sistem
      • Daftar Role / Actor
      • Daftar Komponen
      • Daftar Modul
    • Spesifikasi Modul & Use Case
      • Modul: Authentication
        • Login
        • Homepage
        • Splash Screen
        • Onboarding
        • Edit Profile
        • View Profile
        • Change Password
        • Lupa Password & Reset Password
      • Modul: Dashboard
        • Usulan (Most Likes Usulan)
        • Usulan (Diterima/Dipublikasikan)
        • Usulan (Most Popular)
        • Usulan (Geographic)
        • Polling
        • Top Berita
      • Modul: Survei
        • List Survei
        • Create & Edit Survei
        • Detail Survei
      • Modul: Polling
        • List Polling
        • Create & Edit Polling
        • Detail Polling
      • Modul: Usulan Masyarakat
        • List Usulan
        • Create Usulan
        • Approval Usulan
        • Detail Usulan
      • Modul: Notification
        • List Notification
        • Create & Edit Notification
        • Detail Notification
      • Modul: Pesan
        • List Pesan
        • Create & Edit Pesan
        • Receive Push Notifications
        • Detail Pesan
        • Hapus Pesan
      • Modul: Pengguna
        • List Pengguna
        • Create & Edit Pengguna
        • Detail Pengguna
        • Export Pengguna
        • Import Pengguna
      • Modul: Nomor Telepon Penting
        • List Nomor Penting
        • Create & Edit Nomor Penting
        • Lokasi Terdekat
        • Detail Nomor Telepon Penting
      • Modul: Sumber Berita
        • List Sumber Berita
        • Create & Edit Sumber Berita
      • Modul: Berita
        • List Berita
        • Create & Edit Berita
        • Prioritas Berita
        • Detail Berita
      • Modul: Video Post
        • List Video Post
        • Create & Edit Video Post
        • Detail Video
      • Modul: Berita Saber Hoax
        • List Berita Saber Hoax
        • Create & Edit Berita Saber Hoax
        • Detail Berita Saber Hoax
        • Aduan Saber Hoax (Via Whatsapp)
      • Modul: Release Management
        • List Release
        • Create & Edit Release
        • Update Aplikasi (Mobile)
      • Modul: Kontak Lapor (Mobile)
      • Modul: List Bantuan (Mobile)
      • Modul: Administrasi (Mobile)
      • Modul: Banner
        • List Banner
        • Create & Edit Banner
        • Detail Banner
      • Modul: Popup
        • List Popup
        • Create & Edit Popup
        • Detail Popup
      • Modul: Info Pendidikan
        • List Info Pendidikan
        • Create & Edit Info Pendidikan
        • Detail Info Pendidikan
      • Modul: Tanya Jawab
        • List Tanya Jawab
        • Tanya Jawab
        • Detail Tanya Jawab
      • Modul: Kegiatan RW
        • List Kegiatan RW
        • Create Kegiatan RW
        • Detail Kegiatan RW
      • Modul: Kategori
        • List Kategori
        • Create & Edit Kategori
    • Pengujian
    • Deployment
      • Kubernetes Webadmin
    • Change Log
  • Technical Notes
    • Analytics
      • Metrics Dashboard
      • Analytics Firebase
    • API Mock Server
    • Manual Testing Guidelines
    • DevOps
      • Deployment di AWS EKS
  • FAQ
    • Cascade Permission
    • Hirarki Permission
    • Flow Gitlab
    • Handling Bugs
    • Tag Gitlab
    • Clean Code
Powered by GitBook
On this page
  • Ultimate Purpose
  • Kesalahan yang Sering Ditemukan
  • 1) Meaningful Names
  1. FAQ

Clean Code

Berikut beberapa kesalahan yang sering ditemukan pada saat code review. Ini ditulis dengan harapan programmer dapat aware lebih awal dan mempersingkat waktu code review

Ultimate Purpose

Tujuan akhir dari clean code adalah agar code dapat dengan mudah dan cepat untuk:

  1. Memahami apa maksud dari suatu code

  2. Mengubah/memodifikasi code tersebut

Kesalahan yang Sering Ditemukan

1) Meaningful Names

Gunakan nama yang memenuhi kriteria ini untuk variabel, fungsi, kelas, file, dll:

  1. Mengungkapkan intensi tanpa perlu penjelasan lebih lanjut

  2. Menghindari kesalahpahaman

Contoh kurang baik:

const dateStart = moment(start_date).startOf('day')
const isSameDate = dateStart.isSame(new Date(), 'day')

if ((status === 0) && (isSameDate)) {
  this.btnDisableDate = false
}

Contoh lebih baik:

const SurveyStatus = Object.freeze({
    DRAFT: 0,
    ACTIVE: 10
});
const isStartedToday = dateStart.isSame(new Date(), 'day')

// jika status sama dengan draft dan tanggal mulai sama dengan hari ini
if ((status === SurveyStatus.DRAFT && isStartedToday)) {
  this.btnDisableDate = false
}

Perhatikan bahwa:

  1. Dengan mendefinisikan nilai konstan sebagai variabel seperti status === SurveyStatus.DRAFT lebih mudah dipahami ketimbang status === 0.

  2. Penamaan variabel isStartedToday lebih jelas intensinya ketimbang isSameDate.

PreviousTag Gitlab

Last updated 5 years ago