Apa itu Spaghetti Code dan Bagaimana Menghindarinya
Diterbitkan: 2020-07-03Meskipun mungkin membuat makan malam Italia yang lezat, salah satu hal terakhir yang ingin Anda dengar tentang basis kode Anda adalah spaghetti . Gagasan bahwa kode Anda kusut seperti sepiring spageti mengerikan, tetapi bagi banyak pengembang, gagasannya sangat abstrak sehingga mereka tidak dapat menanganinya (atau memahami cara menghindari atau memperbaikinya). Itu sebabnya dalam posting ini kami ingin menyelami apa sebenarnya kode spageti itu, menunjukkan kepada Anda beberapa praktik terbaik untuk menghindarinya, dan (ketika itu terjadi) bagaimana menghadapinya.
Berlangganan Saluran Youtube Kami
Apa itu Kode Spageti?
Kode spageti adalah mimpi buruk, begitulah. Seperti yang kami katakan di atas, istilah slang mendapatkan namanya karena, seperti jalinan pasta spageti raksasa, jika Anda menarik satu untai (sepotong kode), akhirnya akan terjalin di yang lain dan yang lain dan yang lain, sampai itu atau semua potongan-potongan yang kusut pecah.
Misalnya, pikirkan tentang properti !important di CSS. Ini sangat kuat, membiarkan seorang desainer mengesampingkan gaya yang diwarisi dan memiliki kendali atas elemen tertentu tanpa harus mengkode ulang seluruh stylesheet. Namun, ketika mereka (atau pengembang dan desainer masa depan) perlu menyesuaikan sesuatu yang lain, mereka mungkin menambahkan tag !important lain untuk menggantikan yang sebelumnya. Dan seterusnya. Tetapi jika Anda kembali dan menghapus atau mengubah salah satu dari yang ada di tumpukan itu, sejumlah gaya pada halaman mungkin rusak.
Itu yang coba kami hindari.
Praktik Terbaik untuk Menghindari Spaghetti Code
1. Kembangkan Standar Pengkodean
Cara nomor satu untuk mencegah kode spageti adalah dengan membuat dan mengkodekan standar dalam organisasi atau proyek Anda. Standar pengkodean adalah apa yang memungkinkan proyek seperti WordPress. Ribuan pengembang telah bekerja di WP Core, tetapi Standar Pengkodean WordPress telah membuatnya sehingga mereka semua bekerja dalam pedoman yang sama dan melakukan tugas dalam parameter yang sama dengan cara yang sama.
Standar pengkodean hanyalah aturan yang Anda terapkan. Mereka membuat kode semua orang bekerja dalam pola yang sama sehingga kesalahan mudah ditemukan dan diperbaiki, dan pengembang masa depan (atau bahkan Anda atau tim Anda saat ini) dapat mengetahui persis apa yang dilakukan setiap baris kode seefisien mungkin. Jika kode Susan tidak lulus pengujiannya, kode tersebut tidak akan masuk. Jika kode Janine tidak menjalankan pengujian, permintaan tarik akan ditolak. Mungkin Daniel tidak menggunakan div pada permintaan tarik terbarunya. Tidak ada penggabungan sampai hal-hal dibagi.
Juga, beberapa basis kode asli yang terganggu oleh kode spageti adalah bahasa yang lebih tua tanpa logika fungsional. Kode tidak berbasis fungsi, dan oleh karena itu, berbagai logika diarahkan pada baris tertentu di dalam kode. Dengan proyek kecil, ini tidak terlalu buruk untuk dinavigasi. Saat Anda mulai menskalakan proyek, memiliki referensi langsung ke file dan baris kode tertentu dapat menghambat pengembangan itu. File bisa hilang, baris bisa terhapus atau salah nomor. Dan men-debug-nya untuk mengetahui untaian spageti mana yang ditarik bisa memakan waktu ratusan jam kerja. Memiliki standar pengkodean dapat mencegah kekacauan semacam ini sering terjadi.

Jadi dengan mengembangkan standar, Anda telah sangat efektif menurunkan kemungkinan Anda memiliki repositori kode spageti. Jika Anda ingin mempelajari lebih lanjut tentang standar pengkodean secara umum, GeeksforGeeks memiliki panduan yang sangat baik.
2. Ikuti Panduan Gaya
Selain standar pengkodean, memiliki panduan gaya untuk diikuti juga dapat menjaga agar kode Anda tidak terlalu kusut. Meskipun secara teori mungkin terdengar mirip, keduanya sangat berbeda. Standar pengkodean ada sebagai aturan yang dapat ditegakkan yang diikuti oleh pengembang Anda untuk menjaga agar kode tetap berfungsi secara efisien. Ini dapat berubah dari proyek ke proyek atau dari tim ke tim dalam suatu organisasi.
Namun, panduan gaya umumnya ditulis berdasarkan bahasa per bahasa, memberikan serangkaian praktik terbaik untuk membuat kode dapat dibaca dan berfungsi. Misalnya, Airbnb membuat salah satu panduan gaya terbaik untuk React.js di luar sana. Jika Anda bukan pengembang React, maka itu tidak berarti apa-apa. Tetapi untuk pengembang Bereaksi, melihat ini dapat memberikan bantuan nyata tentang bagaimana kode Anda harus disusun dan ditulis agar dapat diakses oleh pengembang masa depan untuk memilah-milah mungkin.
Panduan gaya, berbeda dengan standar pengkodean umum, tidak selalu merupakan aturan yang dapat diterapkan. Itu saran untuk membuat kode lebih seragam, yang membuat kode lebih mudah dibaca. Yang mencegah kode spageti karena Anda tahu persis untaian apa yang Anda tarik pada waktu tertentu.
3. Komentari Kode Anda
Komentar kode mungkin merupakan cara termudah untuk mencegah repositori Anda diisi dengan kode spageti. Saat Anda menulis sesuatu, buat komentar tentang apa yang dilakukannya. Jika itu adalah fungsi atau cuplikan yang rumit, jelaskan apa yang dilakukan logika dan mengapa itu penting.
Anda mengalami beberapa masalah yang mengandalkan komentar kode untuk mencegah kekacauan. Yang pertama adalah menambahkan banyak waktu ekstra untuk proyek. Saat Anda harus mengejar tenggat waktu atau memastikan suatu fitur berfungsi dengan benar, tidak selalu terpikir untuk menuliskan penjelasan terperinci tentangnya. Dan jika Anda mulai berkomentar dan jatuh di tengah proyek atau pengembang berikutnya tidak melanjutkan? Itu sepiring besar spaghetti.
Yang lain kewalahan dengan gagasan untuk mengomentari kode mereka — atau belajar mengomentari kode mereka jika mereka belum pernah melakukannya sebelumnya — karena volume yang mereka kembangkan. Yang sepenuhnya sah. Tetapi bahkan jika Anda sesekali mengomentari baris atau cuplikan penting (atau bahkan genting), Anda akan menyelamatkan seseorang, kemungkinan diri Anda sendiri, kesulitan menariknya di masa lalu, mencoba mencari tahu apa fungsinya.
Membungkus
Kode spageti adalah mimpi buruk, saya ulangi. Menghabiskan waktu berjam-jam untuk mencari tahu baris kode apa yang diubah dalam repositori raksasa adalah salah satu bagian terburuk tentang menjadi pengembang. Debugging baik-baik saja (ish). Debugging dan tidak tahu harus mulai dari mana atau apa yang bahkan menyebabkan masalah dari jarak jauh. Tetapi jika tim Anda menetapkan standar pengkodean, mengikuti panduan gaya bahasa, dan bahkan memiliki kebijakan komentar kode kecil, ada kemungkinan sangat besar bahwa piring spageti digital Anda akan jauh lebih sedikit kusut daripada yang seharusnya.
Apa yang Anda lakukan untuk mencegah kode spageti?
Gambar unggulan artikel oleh Donnay Style / shutterstock.com
