Langsung ke konten utama

Free vpngeeks Premium Accounts

vpngeeks VPNGeeks Review View offers » URL vpngeeks.com Reconnects unlimited Price monthly $ 8.00 Price 6 months $ 39.96 Price 12 months $ 60.00 Servers 7 IPs unknown Trial No Payment Paypal, Credit Card,, Amazon Payments, Payza, Skrill Clients Windows, Mac OS, Linux, iPhone, iPad Logfiles Yes Support Contact form Protocols OpenVPN, PPTP Filesharing Allowed Traffic Limit No Go to vpngeeks.com VPNGeeks – 29 Total Ratings with 1.00 / 5 possible Rating Points. Vpngeeks.com VPN Service Provider How To Download Free vpngeeks Premium Account Link 1 Free vpngeeks Premium Account Link 2 Free vpngeeks Premium Account Link 3 Free vpngeeks Premium Account Link 4 Free vpngeeks Premium Account Link 5 Free vpngeeks ...

Best Practice Kode B4a Untuk Pemula | Tutorial B4a Indonesia

Best Practice Kode B4a Untuk Pemula | Tutorial B4a Indonesia


Sebenarnya hal ini sudah pernah dibahas di forum B4a namun menggunakan bahasa Inggris. Nah, kali ini admin akan mencoba menjelaskannya dalam bahasa Indonesia dan semoga bisa lebih dipahami.
Berikut adalah daftar Best Practice yang akan membuat kode kalian lebih keren dan terlihaat professional.

1.Mengisialisasikan dan Menambahkan data pada objek secara langsung
Contonnya begini:

'bad
Dim List1 As List
List1.Initialize '<-- a new list was created here
List1 = SomeOtherList '<--- previous list was replaced

'good
Dim List1 As List = SomeOtherList

Dari kode diatas kalian bisa melihat, pada contoh tidak baiknya, kode berkli-kali ditulis ulang dan di replace hanya demi satu kebutuhan. Contohnya List dibuat, di inisialisasikan dan selanjutnya di replace dan diganti dengn list baru dengan data baru.

Hal ini jelas kurang efektif jika dibandingkan dengan contoh kedua dimana List diinisialisaikan dan langsung di tambahkan data pada Variabel tersebut.

2.Deprecated methods  alias Method yang sudah usang
Disini ada beberapa method yang sudah tidak diperbarui dan mungkin akan kurang kompatibel jika digunakan sekarang karena sudah ada Method baru yang dibuat dan jauh lebih powerfull.

Terkadang programmer sudah merasa nyaman dengan cara lama mereka membuat kode, padahal menggunakan Method yang sudah usang jelas akan mengurasi bantuan akan kemungkinan terjadinya bug pada versi sistem yang lebih baru.

Untuk daftar Method yang sudah usang sendiri kalian bisa melihatnya pada link yang ada dibawah ini:

Method yang sudah usa DoEvent dan juga Map.GetKey/ GetValueAt
Contohnya:

'bad
For i = 0 To Map1.Size - 1
Dim key As String = Map1.GetKeyAt(i)
Dim value As String = Map1.GetValueAt(i)
Next

'good
For Each key As String In Map1.Keys
Dim value As String = Map1.Get(key)

Next

3.Not using parameterized queries
Contoh Kodenya:

'very bad
SQL.ExecNonQuery("INSERT INTO table1 VALUES ('" & EditText1.Text & "'")
'ugly, will break if there is an apostrophe in the text and vulnerable to SQL injections.

'very good
SQL.ExecNonQuery2("INSERT INTO table1 VALUES (?)", Array(EditText1.Text))


Kode ini seperti yang ditampilkan dalam comment, kode ini amatlah rentan terhadap serangan SQL Injection yang sudah masuk kedalam Top 10 OWASP yang merupakan standar keamanan aplikasi Web. Eh tunggu? Bukannya B4a adalah Aplikasi Mobile.

Jawabannya yaps, namun aplikasi mobile juga terkadang perlu berhubungan dengan aplikasi Web dalam Get dan POST data. Sebenarnya sudah ada REST API yang jauh lebih aman, namun cara lama masih tetap populer untuk dilakukan.

4.Using Cursor instead of ResultSet - Cursor is a B4A only object. ResultSet is a bit simpler to use and is cross platform

'good
Dim rs As ResultSet = SQL.ExecQuery2(...)
Do While rs.NextRow
...
Loop
rs.Close

5.Membangun tata letak yang lengkap secara terprogram. Ini kesalahan umum pada B4a dan B4j karena orang lebih suka membuat Layout menggunakan Designer padahal akan lebih mudah dan efektif jika melakukannya secara terporgam, selain untuk resize juga akan memudahkan dalam membuat aplikasi lintas Platform.

6.Mengulang-ulang kode yang sama
Nah, ini adalah kesalahan paling mendasar dan hampir 100% pemula dalam B4a melakukannya. Sebenarnya pengulangan kode tidak disarankan, terutama jika memang sudah ada pola disana. Contohnya Seperti Dibawah ini:

'bad
If b = False Then
Button1.Text = "disabled"
Button2.Text = "disabled"
Button3.Text = "disabled"
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Else
Button1.Text = "enabled"
Button2.Text = "enabled"
Button3.Text = "enabled"
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
End If

Contoh Betulnya:

'good
For Each btn As Button In Array(Button1, Button2, Button3)
btn.Enabled = b
If b Then btn.Text = "enabled" Else btn.Text = "disable"
Next

Terlihat lebih singkat dan tentunya tampak lebih profesional dibandingkan dengan kode diatas walau fungsinya sama.


7.Longstring tanpa menggunakan SmartString
Contoh kodenya:

'bad
Dim s As String = "This is the " & QUOTE & "first" & QUOTE & "line" & CRLF & _
"and this is the second one. The time is " & DateTime.Time(DateTime.Now) & "."

'good
Dim s As String = $"This is the "first" line
and this is the second one. The time is $Time{DateTime.Now}."$

Penjelasan:
Kalian bisa lihat berapa banyaknya penghubung & dan juga QUOTE dibuatkan disana untuk membuat string yang memiliki special character didalamnya. Hal ini akan jauh lebih efektif jika kalian menggunakan Smartstring dalam melakukannya.

8.Menggunakan Global Variable padahal tidak dibutuhkan

Contoh Kodenya:

'bad
Job.Initialize(Me, "") 'global variable
...

'good
Dim job As HttpJob
job.Initialize(Me, "")

9. Menggunakan Wit For dalam Job saat merequest data adalah contoh baik dan Best Practice dalam menggunakannya

Mungkin sekian pembahasan mengenai Best Practice ini, dan jika kalian ingin membaca tulisan aslinya kalian bisa mengunjungi link yang ada dibawah ini:


Tag: Tutorial B4a Indonesia, Tutorial B4a Pemula, Contoh Aplikasi B4a, B4a Bahasa Indonesia, Forum B4a Indonesia

Postingan populer dari blog ini

Free vpntunnel Premium Accounts

vpntunnel VPNTunnel Review View offers » URL vpntunnel.com Reconnects unlimited Price monthly € 5.00 Price 6 months $ 27.00 Price 12 months $ 49.20 Servers unknown IPs 10000 Trial No Payment Paypal, Payson Clients Windows, Mac OS, Linux, iPhone, iPad, Android Logfiles No Support Ticket Support, Email Support Protocols PPTP, OpenVPN Filesharing Allowed Traffic Limit No Go to vpntunnel.com VPNTunnel – 29 Total Ratings with 0.05 / 5 possible Rating Points. Vpntunnel.com VPN Service Provider How To Download Free vpntunnel Premium Account Link 1 Free vpntunnel Premium Account Link 2 Free vpntunnel Premium Account Link 3 Free vpntunnel Premium Account Link 4 Free vpntunnel Premium Account Link 5 Free vpntunn...

Free kepard Premium Accounts

kepard Kepard Review View offers » URL kepard.com Reconnects unlimited Price monthly $ 7.00 Price 6 months $ 37.98 Price 12 months $ 35.04 Servers 15 IPs unknown Trial 30 min Free Trial Account Payment Credit Card, Paypal Clients Mac OS, Windows, Linux, iPhone, iPad, Android Logfiles No Support Ticket Support, Email Support Protocols PPTP, L2TP, IPSec, OpenVPN Filesharing Partial (in Netherlands) Traffic Limit No Go to kepard.com Kepard – 29 Total Ratings with 0.10 / 5 possible Rating Points. Kepard.com VPN Service Provider How To Download Free kepard Premium Account Link 1 Free kepard Premium Account Link 2 Free kepard Premium Account Link 3 Free kepard Premium Account Link 4 Free kepard Premium Accou...

Free usaip Premium Accounts

usaip UsaIP Review View offers » URL usaip.eu Reconnects unlimited Price monthly $ 7.99 Price 6 months $ 47.94 Price 12 months $ 75.00 Servers 35 IPs unknown Trial Money back guarantee Payment Credit Card, Paypal, Pecunix, Alertpay Clients Windows, Mac OS, Linux, iPhone, iPad, Android Logfiles Yes Support Phone support, email support, ICQ, Yahoo! and Wlife Protocols OpenVPN, PPTP, SSTP, L2TP Filesharing partially (in Russia, Luxembourg, Czech Republic) Traffic Limit No Go to usaip.eu UsaIP – 29 Total Ratings with 1.70 / 5 possible Rating Points. Usaip.eu VPN Service Provider How To Download Free usaip Premium Account Link 1 Free usaip Premium Account Link 2 Free usaip Premium Account Link 3 Free usaip ...