Skip to content Skip to sidebar Skip to footer

10 Prinsip Pemrograman Dasar


Pekerjaan Anda sebagai programmer adalah menulis kode yang berfungsi dengan baik dan menghasilkan hasil yang diinginkan. Kode, bagaimanapun, harus sederhana untuk dipahami, dipelihara, dan diperluas. Untuk memenuhi tantangan ini, Anda harus menggabungkan konsep pemrograman utama dengan prinsip pengkodean yang baik.

Dalam posting ini, saya akan membagikan sepuluh prinsip pemrograman teratas saya untuk membantu Anda meningkatkan keterampilan pengkodean Anda dan membuat hidup Anda lebih mudah, kolega Anda, dan pengguna akhir Anda.

 

Apa pentingnya Prinsip Pemrograman?

Anda akan menjadi pengembang yang lebih baik jika mempelajari beberapa prinsip pemrograman dan menerapkannya dalam kode Anda. Mengikuti praktik ini akan meningkatkan kualitas kode secara keseluruhan dan memudahkan Anda atau orang lain untuk melakukan perubahan atau menambahkan fungsionalitas di masa mendatang.

Prinsip pemrograman dapat membantu Anda menghindari masalah seperti kode yang berantakan atau terlalu rumit, program yang rusak dengan satu perubahan, dan variabel yang tidak masuk akal. Menempel pada mereka juga akan memungkinkan Anda untuk berkolaborasi lebih efektif dengan memastikan bahwa pemrogram lain memahami kode Anda.

Sangat penting untuk memahami sepuluh prinsip ini apakah Anda sedang mengembangkan program sederhana atau aplikasi tingkat perusahaan.

 

Sepuluh Prinsip Pemrograman untuk Diingat:

1. KISS (Keep It Simple, Stupid!)

Salah satu prinsip pemrograman terpenting adalah menjaga kode Anda tetap sederhana dan bersih. enterpris Beberapa pengembang suka menyombongkan diri dengan menulis kode yang terlalu panjang atau canggih, tetapi meskipun tampak pintar, kode tersebut mungkin sulit dipahami.

Selalu usahakan agar kode Anda dapat dipahami - jika Anda dapat menulis skrip dalam satu baris, lakukanlah! Masalah yang kompleks dapat dipecah menjadi bagian yang lebih kecil, atau beberapa kode yang tidak perlu dapat dihapus. Tujuannya bukan untuk membuat orang terkesan, tetapi untuk mengurangi kerumitan dan memecahkan masalah.

Cara lain untuk membuat semuanya tetap sederhana adalah dengan menggunakan nama variabel yang jelas. Ingatlah untuk menggunakan pustaka dan alat pengkodean yang ada.

 

2. Don’t Repeat Yourself (DRY)

Bukankah akronim populer di kalangan programmer? Yang ini mudah diingat: ini memberi tahu Anda untuk tidak mengulang kode. Pengulangan adalah kesalahan umum karena jika Anda menduplikasi data, logika, atau fungsi, kode Anda akan menjadi lebih panjang dan lebih sulit untuk dipertahankan, di-debug, atau dimodifikasi.

Menyalin dan menempelkan kode dalam program Anda adalah contoh pengulangan sendiri. Alih-alih menduplikasi baris, temukan algoritme yang menggunakan satu loop, karena jauh lebih mudah untuk men-debug satu loop yang menangani 20 pengulangan daripada 20 blok kode yang masing-masing menangani satu pengulangan.

Kebalikan dari prinsip DRY adalah WET, yang merupakan singkatan dari Write Everything Twice or Waste Everyone's Time. Tak satu pun dari ini adalah ide yang baik.

 

3. You Aren’t Gonna Need It (YAGNI)

Pada catatan serupa, Anda tidak boleh menulis kode kalau-kalau Anda membutuhkannya di masa mendatang. Dengan kata lain, prinsip YAGNI menginstruksikan Anda untuk menulis kode hanya untuk situasi saat ini daripada mencoba memecahkan masalah yang tidak ada.

Fitur dan fungsionalitas harus ditambahkan hanya jika diperlukan. Jika tidak, perangkat lunak atau program Anda akan tumbuh lebih besar dan lebih kompleks dari yang diperlukan. YAGNI diturunkan dari metodologi pengembangan perangkat lunak Extreme Programming (XP), yang bertujuan untuk mengurangi inefisiensi.

Pemrogram terkadang melanggar prinsip ini saat mencoba mengikuti praktik pengkodean KERING, jadi ingatlah keduanya.

 

4. Document Your Code

Oke, jadi Anda telah menulis kode Anda dan, mudah-mudahan, memahaminya. Tetapi hanya karena sesuatu masuk akal bagi Anda tidak berarti itu akan masuk akal bagi orang lain. Anda dapat membantu sesama pengembang dengan mengomentari kode Anda dan meningkatkan penamaan variabel dan fungsi.

Misalnya, jika Anda membuat algoritme perutean panggilan untuk digunakan dalam solusi pusat panggilan VoIP, Anda dapat meninggalkan komentar yang menjelaskan berbagai fungsi dan membuatnya lebih mudah dipahami oleh pengembang atau penguji lain.

Anda harus membiasakan untuk menyertakan komentar dalam kode Anda di semua bahasa pemrograman. Ya, ini sedikit kerja ekstra, tetapi perlu saat bekerja dengan orang lain. Plus, ketika saatnya tiba untuk memodifikasi kode, Anda akan senang melakukannya!

 

5. Composition Over Inheritance

Ada dua metode untuk menggunakan kembali kode yang telah Anda tulis: pewarisan dan komposisi. Sebagian besar pemrogram lebih menyukai komposisi (walaupun pewarisan memiliki kelebihan, jadi jangan abaikan seluruhnya).

Saat menggunakan pemrograman berorientasi objek, atau OOP, prinsip komposisi di atas pewarisan menjadi berguna (yang sebenarnya memiliki seperangkat prinsipnya sendiri). Ini menentukan bahwa objek dengan perilaku kompleks harus berisi contoh objek dengan perilaku individual, daripada mewarisi kelas dan menambahkan perilaku baru.

Kerangka kelas dengan cepat menjadi berat dengan pewarisan, menghasilkan sejumlah besar kelas yang mungkin atau mungkin tidak memenuhi kebutuhan Anda. Hirarki kelas sulit untuk diubah setelah diterapkan karena mengubah superclass berisiko merusak subclass pengguna. Ada juga sedikit kelonggaran dalam mendefinisikan perilaku kasus khusus.

Pemrograman komposisi lebih mudah untuk ditulis dan dipelihara, menghasilkan basis kode yang lebih sederhana dan lebih dapat diuji. Ini memungkinkan definisi perilaku yang fleksibel - Anda dapat merancang kelas untuk penambahan atau perubahan yang mudah dan menunda pembuatan komponen hingga diperlukan.

 

6. Open/Close

Open/Close adalah prinsip penting untuk diingat saat merilis pustaka atau kerangka kerja yang akan digunakan orang lain. Ini berarti artefak perangkat lunak seperti kelas dan modul dapat diperluas tetapi tidak dimodifikasi. Ini meningkatkan stabilitas kode dan kemudahan pemeliharaan.

Asumsikan Anda telah ditugaskan untuk membuat kode untuk template perjanjian agensi perusahaan perangkat lunak tanda tangan elektronik>. Anda merilis versi kerangka kerja yang dapat langsung dimodifikasi dan diintegrasikan oleh pembuat kode dengan kode yang Anda rilis. Namun, jika nanti Anda merilis pembaruan besar, kode tersebut akan rusak. Lebih baik untuk merilis kode yang mendorong ekstensi sambil melarang modifikasi langsung, yang mengurangi risiko munculnya bug baru.

 

7.  Single Responsibility

Prinsip ini menyatakan bahwa setiap kelas atau modul dalam sebuah program hanya boleh menyediakan satu fungsionalitas tertentu, dan sebuah kelas tidak boleh berubah karena lebih dari satu alasan. Tujuannya adalah untuk menghindari beberapa metode atau kelas dengan banyak efek samping atau tanggung jawab.

Saat Anda menambahkan terlalu banyak tanggung jawab ke kelas, membuat fungsionalitas tambahan untuk modul tertentu menjadi lebih sulit. Lebih baik membaginya menjadi kelas dan modul yang lebih kecil, yang membuatnya lebih mudah untuk mengisolasi modul tertentu untuk pemecahan masalah.

Tanggung Jawab Tunggal dan Terbuka/Tertutup keduanya adalah prinsip SOLID yang ditetapkan oleh Robert C Martin (yang lainnya adalah Substitusi Liskov, Segregasi Antarmuka, dan Pembalikan Ketergantungan).

 

8. SoC - Separation of Concerns.

Prinsip pemrograman ini adalah versi sederhana dari konsep tanggung jawab tunggal. Menurut SoC, sebuah program harus dirancang dengan wadah berbeda yang tidak memiliki akses satu sama lain. Setiap potongan kode benar-benar berdiri sendiri.

Ini adalah metode membagi aplikasi yang kompleks menjadi beberapa bagian atau domain yang berbeda, yang masing-masing melakukan fungsi tertentu atau menangani masalah yang berbeda. Ini membuat kode lebih mudah dipelihara, diperbarui, digunakan kembali, dan di-debug.

Desain model-view-controller (MVC), yang saat ini digunakan dalam kerangka web populer, adalah contoh yang terkenal. Sebuah program dibagi menjadi tiga bagian berbeda: data (model), logika (pengontrol), dan apa yang dilihat oleh pengguna akhir (tampilan), dengan masing-masing ditangani secara independen.

 

9. Minimize coupling

Ketika dua modul atau lapisan memiliki tingkat saling ketergantungan, seperti berbagi kode atau akses ke data yang sama, ini disebut sebagai penggabungan kode. Ini dapat menyebabkan masalah seperti kode yang sulit diikuti dan dipelihara.

Jika pengembang, misalnya, mengaitkan titik akhir API mereka dengan tampilan tertentu pada aplikasi ujung depan, seperti sistem telepon multisaluran, titik akhir tidak dapat digunakan kembali untuk tampilan yang berbeda, seperti aplikasi seluler. (Mungkin Anda bertanya-tanya apa itu sistem telepon multisaluran>?)

Untuk meminimalkan kopling, pemrogram harus memahami bagaimana kode digabungkan, termasuk memahami tanggung jawab setiap lapisan. Tanggung jawab tunggal juga mengurangi penggabungan antara perangkat lunak individual dan komponen kode.

 

10. Refaktor

Karena basis kode terus berkembang, Anda mungkin perlu meninjau kembali, menulis ulang, atau mendesain ulang seluruh bagian kode. Alih-alih melihat ini sebagai kegagalan upaya pertama Anda, anggap itu sebagai pengalaman belajar.

Memfaktorkan ulang kode memerlukan peninjauan dan mencari cara untuk mengoptimalkannya, menjadikannya lebih efisien dengan tetap mempertahankan hasil yang sama. Namun, Anda harus menghindari pengoptimalan yang berlebihan. Anda tidak dapat memprediksi hambatan dan persyaratan dapat berubah, jadi jangan optimalkan algoritme Anda pada tahap awal pengembangan.

 


Kesimpulan

Jika kita harus mereduksi daftar ini menjadi satu prinsip utama, itu akan menjadi seperti ini: buat kode Anda mudah dipahami dan dipelihara. Beberapa prinsip pemrograman dalam daftar kami, dari KISS dan DRY hingga tanggung jawab tunggal dan dokumentasi kode, dirancang dengan mempertimbangkan tujuan ini.

Jika Anda mematuhi prinsip-prinsip ini, Anda akan dapat menulis kode sederhana yang melakukan apa yang seharusnya dilakukan dan dapat dimengerti oleh orang lain. Anda juga akan tahu kapan harus mengoptimalkannya. Terakhir, teruslah belajar untuk menjadi lebih baik.