Iklan
Kami sudah memandu Anda melalui prinsip-prinsip pemrograman yang paling penting 10 Prinsip-Prinsip Dasar Pemrograman Yang Harus Setiap Programmer IkutiSelalu tulis kode yang dapat dikelola oleh siapa saja yang akhirnya dapat mengerjakan perangkat lunak Anda. Untuk itu, berikut adalah beberapa prinsip pemrograman untuk membantu Anda membersihkan tindakan Anda. Baca lebih banyak Anda perlu tahu, tetapi ada kelas lain prinsip-prinsip pemrograman yang dapat membuktikan bahkan lebih bermanfaat dibandingkan.
Sedangkan prinsip-prinsip tersebut mengajarkan Anda bagaimana menjadi pintar dengan kode Anda, prinsip-prinsip berikut akan mengajarkan Anda untuk menjadi bijaksana dengan kode Anda. Beberapa dari mereka aneh, dan banyak dari mereka lucu, tetapi mereka semua sama-sama praktis dan penting. Menyimak!
1. Prinsip Gembung
Yang ini memiliki banyak variasi sehingga sulit untuk memilih satu sebagai yang utama. Mungkin versi yang paling "resmi" adalah Hukum Pengembangan Perangkat Lunak, yang lebih umum disebut
Hukum Zawinski, Dinamai setelah Jamie Zawinski dan disebutkan dalam Seni Pemrograman UNIX:“Setiap program mencoba untuk memperluas hingga dapat membaca email. Program-program yang tidak bisa berkembang digantikan oleh yang bisa. ”
Ini berbicara tentang kecenderungan program untuk menarik lebih banyak fitur dari waktu ke waktu dan tak terhindarkan menuju peningkatan kompleksitas. Anda mungkin tahu ini sebagai fitur creep, yang merupakan penambahan fitur baru yang tidak ada hubungannya dengan tujuan utama program. Merayap mengarah ke kembung, dan kembung sering tidak diinginkan.
Ini juga dapat berlaku untuk kinerja perangkat lunak:
"Perangkat lunak berkembang untuk menggunakan semua sumber daya yang tersedia."
Kembali di tahun 90-an, hard drive dan CPU dan RAM jauh lebih ketat daripada sekarang dan programmer bekerja keras agar sesuai sebanyak yang mereka bisa dalam batas. Namun sekarang karena kami memiliki drive yang lebih besar dan CPU yang lebih cepat dan lebih banyak RAM, kami masih berjuang untuk menghormati batasan. Semuanya membengkak seiring waktu. Adalah tugas Anda untuk memastikannya.
2. Mentalitas “Worse Is Better”
Hampir seperti menanggapi Prinsip Gembung, kita punya Lebih buruk adalah mentalitas yang lebih baik, pertama kali diciptakan oleh Richard P. Gabriel dalam esai yang ditulisnya tentang kualitas perangkat lunak:
"Perangkat lunak yang terbatas, tetapi mudah digunakan, mungkin lebih menarik bagi pengguna dan pasar daripada sebaliknya."
Dengan kata lain, adalah bijaksana untuk mencari tahu satu masalah perangkat lunak Anda bertujuan untuk menyelesaikan dan kemudian menjadi Baik sekali pada satu hal itu. Tetap sederhana. Semakin Anda menipiskan diri, semakin tidak terkelola proyeknya, dan semakin tidak diinginkan bagi pengguna.
Apa yang terjadi ketika Anda mengabaikan ini? Anda berakhir dengan Prinsip Perangkat Lunak Peter:
“Proyek yang terlalu rumit pada akhirnya akan menjadi terlalu rumit untuk dipahami bahkan oleh pengembangnya sendiri.”
Itu berasal dari Prinsip Peter yang lebih luas, yang menyatakan bahwa ketika karyawan dipromosikan berdasarkan arus mereka kompetensi dan bukan kompetensi yang diharapkan pada posisi berikutnya, semua karyawan akhirnya berakhir pada posisi ketidakmampuan. Ambil prinsip itu dan terapkan ke perangkat lunak, dan Anda akan melihat mengapa perangkat lunak yang lebih buruk seringkali lebih baik.
3. Hukum Eagleson
"Kode Anda sendiri yang belum Anda lihat selama enam bulan atau lebih mungkin juga ditulis oleh orang lain."
Ungkapan yang tampaknya bersifat demotivasi ini sebenarnya adalah sesuatu yang harus dianut. Faktanya adalah, tidak ada yang sempurna. Anda mungkin berpikir Anda seorang programmer jenius saat ini, tetapi ada selalu sesuatu yang bisa Anda pelajari, selalu lebih banyak ruang untuk tumbuh. Jika Anda pernah melihat kembali kode lama dan ngeri, itu mungkin berarti Anda telah mempelajari sesuatu yang baru sejak saat itu.
Dengan kata lain: jika Anda melihat kembali proyek lama dan Anda tidak dapat melihat apa pun yang dapat Anda tingkatkan atau akan lakukan secara berbeda di lain waktu, Anda kemungkinan akan mandek sebagai programmer.
4. Prinsip Terkejut Paling Sedikit
“Jika fitur yang diperlukan memiliki faktor keheranan yang tinggi, mungkin perlu mendesain ulang fitur tersebut.”
Pertama kali diterbitkan di Jurnal Sistem IBM kembali pada tahun 1984, prinsip ini masih sangat relevan saat ini - mungkin lebih dari sebelumnya.
Ini pada dasarnya menyentuh keseimbangan halus antara inovasi dan keakraban: jika perangkat lunak terlalu berbeda dari orang lain dari jenisnya dan kemudian tidak sesuai dengan harapan pengguna mereka kemungkinan tidak akan mengadopsinya. Lebih baik mengusahakan peningkatan bertahap yang cukup besar untuk mengesankan tetapi cukup kecil untuk tetap akrab.
5. Hukum Entomologi Cybernetic
"Selalu ada satu bug lagi."
Sering dipanggil Hukum Entomologi Cybernetic Lubarsky, tidak jelas siapa sebenarnya Lubarsky ini. Namun, prinsipnya berdering berlaku untuk semua programmer: tidak peduli seberapa bersih Anda menulis kode Anda, tidak peduli bagaimana kokoh Anda menguji modul Anda, tidak peduli seberapa sering Anda refactor kelas Anda, akan selalu ada bug lain.
Di satu sisi, ini adalah prinsip yang membebaskan. Padahal kita pasti harus berjuang untuk kode bebas bug, penting juga untuk diingat bahwa perfeksionisme adalah musuh kebaikan. Cari bug, perbaiki ketika muncul, dan kemudian pindah.
6. Hukum Kernighan
“Debugging dua kali lebih sulit daripada menulis kode di tempat pertama. Karena itu, jika Anda menulis kode sepintar mungkin, Anda, menurut definisi, tidak cukup pintar untuk men-debug itu. "
Brian Kernighan, orang yang sama yang ikut menulis Alkitab bahasa pemrograman C Mengapa Pemrograman C Masih Layak BelajarC bukan bahasa mati. Bahkan, majalah IEEE Spectrum menempatkannya sebagai bahasa nomor 2 teratas di tahun 2017. Berikut lima alasannya. Baca lebih banyak , Terkenal dengan hukum yang berwawasan luas ini. Inti dari itu adalah ini: tulis baik kode, tulis dapat dibaca kode, tulis sederhana kode, apa saja asalkan tidak pintar kode.
Mencoba untuk melenturkan otot pemrograman Anda dengan kompleksitas menara gading adalah kebalikan dari artinya tulis kode yang bersih dan lebih baik 10 Tips untuk Menulis Pembersih & Kode yang Lebih BaikMenulis kode bersih terlihat lebih mudah daripada yang sebenarnya, tetapi manfaatnya sepadan. Inilah cara Anda dapat mulai menulis kode pembersih hari ini. Baca lebih banyak . Semakin sulit kode Anda dipahami, semakin sulit untuk melakukan debug ketika mau tidak mau rusak.
Dan seperti Robert C. Martin menjelaskan, ini bukan hanya tentang debugging:
“Memang, rasio waktu yang dihabiskan membaca dan menulis lebih dari 10 banding 1. Kami terus membaca kode lama sebagai bagian dari upaya untuk menulis kode baru... [Karena itu,] membuatnya mudah dibaca membuatnya lebih mudah untuk menulis. "
7. Debugging Bebek Karet
Yang ini bukan prinsip karena teknik, tapi sangat membantu dan aneh sehingga kita lalai untuk meninggalkannya.
Pertama kali diceritakan Programmer Pragmatis, debugging bebek karet adalah saat Anda men-debug perangkat lunak yang rusak dengan menjelaskan kode Anda ke objek mati (mis. bebek karet) satu per satu. Ini berhasil karena tindakan penjelasan memicu berbagai bagian otak Anda, dan Anda lebih mungkin untuk menemukan ketidakkonsistenan dan mencari tahu di mana Anda salah.
Untuk alasan ini, bebek karet bisa menjadi hadiah yang sangat bagus untuk programmer Hadiah Geek Terbaik untuk Programmer: 20 Ide untuk Coders dan NerdsMencari hadiah untuk seorang programmer? Berikut adalah hadiah geek terbaik, mulai dari keyboard mekanik hingga meja berdiri dan banyak lagi. Baca lebih banyak , apakah Anda membelinya untuk diri sendiri atau untuk teman pemrograman Anda.
8. The Ninety-Ninety Rule
“90 persen pertama dari kode menyumbang 90 persen pertama dari waktu pengembangan. Sisanya 10 persen dari kode menyumbang 90 persen lainnya dari waktu pengembangan. "
Pepatah kecil nakal dari Tom Cargill ini menjadi inti mengapa pemrograman bisa sangat menyebalkan: tidak peduli seberapa dekat Anda berpikir Anda akan selesai, Anda lebih jauh dari bahkan estimasi terbaik Anda. Ketika Anda berpikir Anda sudah selesai, Anda hanya setengah jalan di sana.
Ini sejalan dengan Hukum Hofstadter:
"Itu selalu memakan waktu lebih lama dari yang Anda harapkan, bahkan ketika Anda memperhitungkan Hukum Hofstadter."
9. Hukum Parkinson
"Pekerjaan mengembang untuk mengisi waktu yang tersedia untuk penyelesaiannya."
Satu prinsip ini, yang diciptakan oleh Cyril Northcote Parkinson, adalah prinsip yang lebih luas yang benar-benar berlaku untuk pemrograman dan berjalan bergandengan tangan dengan Aturan Ninety-Ninety di atas: namun banyak waktu yang Anda miliki untuk menyelesaikan suatu proyek persis berapa lama waktu yang dibutuhkan untuk menyelesaikannya. mengambil. Dalam pengembangan perangkat lunak, "menyelesaikan awal" cukup banyak mitos.
Hukum Parkinson adalah alasan mengapa tenggat waktu yang tepat sangat penting jika Anda ingin menyelesaikan dan mengirimkan perangkat lunak Anda. Itu sebabnya programmer profesional modern sering merekomendasikan prinsip manajemen proyek lincah Cara Menggunakan Prinsip Manajemen Proyek Agile untuk Mengatur Hidup AndaAgile, paling dikenal sebagai metode manajemen proyek, adalah kerangka kerja yang hebat untuk mengelola kehidupan pribadi Anda. Kami akan menunjukkan kepada Anda prinsip mana yang dapat Anda pinjam - termasuk unduhan lembar kerja! Baca lebih banyak dan alat manajemen proyek seperti Asana Trello vs. Asana: Alat Manajemen Proyek Gratis Terbaik ...Memilih antara Trello dan Asana itu sulit. Di sini kami membandingkan paket gratis dan membantu Anda memutuskan alat manajemen proyek mana yang terbaik untuk tim Anda. Baca lebih banyak .
10. Hukum Brook
"Menambahkan tenaga kerja ke proyek perangkat lunak yang terlambat membuatnya nanti."
Lain kali Anda terlambat dalam suatu proyek, yang kemungkinan besar karena sebagian besar proyek pemrograman membutuhkan lebih banyak waktu daripada yang diberikan, ingatlah bahwa menambahkan coders tidak akan menyelesaikannya lebih cepat.
Bahkan, itu mungkin akan terjadi lebih lama untuk menyelesaikan. Anda tidak hanya perlu meningkatkan kecepatan koder baru, mereka juga akan berbenturan dengan coders yang ada. Lebih banyak hal yang perlu didokumentasikan, lebih banyak birokrasi akan diperlukan untuk menjaga semua orang pada halaman yang sama, dan lebih banyak gesekan akan keluar dari seluruh pengalaman waktu krisis.
Maju sebagai Pemrogram
Sekarang setelah Anda mengetahui prinsip-prinsip ini, Anda sebenarnya lebih cocok untuk dunia nyata pemrograman, bukan hanya apa yang Anda temui di sekolah, kursus web, atau bootcamp. Prinsip-prinsip ini berasal dari pengalaman dan kegagalan bertahun-tahun.
Dengan kebijaksanaan yang baru ditemukan ini, Anda sekarang dapat menetapkan untuk a karir pemrograman dengan permintaan tinggi 10 Pekerjaan Pemrograman Komputer Yang Sedang Diminati Saat IniKarena pendaratan pekerjaan pemrograman bisa jadi sulit di lanskap saat ini, pertimbangkan untuk fokus pada salah satu konsentrasi berikut untuk meningkatkan peluang keberhasilan Anda. Baca lebih banyak dengan harapan yang lebih realistis. Untuk itu, pelajari caranya memaksimalkan peluang karier pemrograman Anda Cara Meningkatkan Peluang Karir Pemrograman AndaJika Anda berharap untuk memulai, memulai kembali, atau meningkatkan karier pemrograman Anda, itu tidak mudah. Jika Anda kuliah, waktunya sekarang. Berikut adalah beberapa tips yang dapat membawa Anda jauh. Baca lebih banyak . Dan jika Anda memutuskan bahwa pemrograman itu bukan untuk Anda, jangan khawatir - pertimbangkan salah satunya pekerjaan teknologi non-coding sebagai gantinya Pengodean Bukan untuk Semua Orang: 9 Pekerjaan Teknologi yang Dapat Anda Dapatkan tanpanyaJangan berkecil hati jika Anda ingin menjadi bagian dari bidang teknologi. Ada banyak pekerjaan untuk orang-orang tanpa keterampilan coding! Baca lebih banyak .
Manakah dari prinsip-prinsip ini yang paling benar bagi Anda? Tahu ada prinsip pemrograman aneh lain yang kami lewatkan? Beri tahu kami di komentar di bawah!
Joel Lee memiliki gelar B.S. dalam Ilmu Komputer dan lebih dari enam tahun pengalaman menulis profesional. Dia adalah Pemimpin Redaksi untuk MakeUseOf.