Gaya pemrograman yang baik
Pemrograman merupakan suatu seni, artinya kita memprogram menurut cara yang paling kita senangi, tentu saja tidak ada cara pemrograman yang paling baik karena setiap orang punya style masing2Namun ada bebarapa cara yang banyak dipakai dan menurut penulis cukup masuk akal , antara lain :
- Biasakan membuat nama sub/function, nama variabel/konstant yang sesuai dengan tujuannya, misalnya sub Perhitungan_pajak, strNomorPokokWajibPajak, jangan sub test,sub DoIt, strText1, intNumber2
- Biasakan memberikan comment yang lengkap atas setiap baris yang dianggap penting, ini berguna untuk dokumentasi untuk kemudian hari
- Berikan prefik/awalan untuk setiap variabel/konstant untuk pengingat apa jenis type data serta scope dari variabel/konstant tersebut, misalnya untuk variabel text/string kita kasih prefik str , sedang jika scopenya adalah module maka prefiksnya adalah m, sehinga digabung menjadi misalnya mstrNamaPegawai
- Biasakan memberi indent atas setiap blok/group untuk mempermudah dibaca
- Biasakan memberi blank line/ baris pemisah untuk setiap block/grup
Berikut adalah contoh pemrograman yang bagus
'fungsi untuk mengecek apakah sudah mendaftar atau belum
Sub CheckUpdate()
Dim strDate As String
strDate = Format(Now(), "yyyy-mm-dd")
'check apakah hari ini merupakan tanggal expire
'jika ya maka suruh register ulang
'lalu tutup add-in ini
If strDate > Format(ExpireDate, "yyyy-mm-dd") Then
FrmUpdate.Show
ThisWorkbook.Close False
Exit Sub
End If
'jika belum namum mendekati maka kasih peringatan
If strDate > Format(WarnDate, "yyyy-mm-dd") Then
If fnReadSetting("Version") = ATversion Then
Else
fnDoSetting "Version", ATversion
fnDoSetting "Reminder", ""
End If
strReminder = fnReadSetting("reminder")
If strReminder = "" Or strDate >= strReminder Then FrmUpdate.Show
End If
End Sub
Coba bandingkan dengan style berikut ini :
Sub procedure01()
Dim tgl As String
tgl = Format(Now(), "yyyy-mm-dd")
If tgl > Format(ExpireDate, "yyyy-mm-dd") Then
FrmUpdate.Show
ThisWorkbook.Close False
Exit Sub
End If
If tgl > Format(WarnDate, "yyyy-mm-dd") Then
If fnReadSetting("Version") = ATversion Then
Else
fnDoSetting "Version", ATversion
fnDoSetting "Reminder", ""
End If
strReminder = fnReadSetting("reminder")
If strReminder = "" Or tgl >= strReminder Then FrmUpdate.Show
End If
End Sub
Tidak ada komentar:
Posting Komentar