JavaRush /Java Blog /Random-ID /Cara menulis kode bersih

Cara menulis kode bersih

Dipublikasikan di grup Random-ID
Membuat kode Anda bersih dan indah adalah cara yang bagus untuk memenuhi tenggat waktu. Robert Martin tepat sasaran dengan salah satu pernyataannya yang ringkas: “Satu-satunya ukuran kualitas kode yang sebenarnya adalah unit What-The-F**ks/Minute .” " dalam bahasa aslinya). Cara menulis kode bersih - 1Izinkan saya menjelaskan apa artinya ini. Setiap kali saya meninjau kode, otak saya mengalami salah satu dari tiga emosi:
  • “APAAN?! Apa apaan?!" (dengan jijik) - bukan ini... semuanya sangat buruk....
  • “APAAN?! Apa apaan?!" (dengan kekaguman) - hmm, orang pintar yang melakukannya!
  • “APAAN?! Apa apaan?!" (dengan kesal) - semacam kebingungan, apa yang sedang kita bicarakan?!
Jadi apa yang terpenting dan apa sebenarnya yang kita evaluasi ketika kita melihat suatu kode? Itu saja: kemurnian dan keindahannya. Kemampuan menulis kode yang bersih dan indah merupakan indikator pengembang yang sangat profesional. Pelatihan keterampilan ini didasarkan pada dua komponen - pengetahuan dan pekerjaan. Pengetahuan mengajarkan Anda pola, prinsip, praktik, heuristik. Anda membutuhkan mereka untuk tumbuh secara profesional. Hanya Anda yang harus menyerap pengetahuan ini seperti spons melalui latihan terus-menerus dan kerja keras. Singkatnya, menulis kode yang bersih tidaklah mudah. Ini adalah pekerjaan yang sulit dan melelahkan, dan Anda harus bekerja keras untuk itu. Melalui trial and error, Anda akan meningkat dengan mengulangi langkah yang sama berulang kali hingga Anda menemukan solusi yang Anda inginkan. Tidak ada cara yang lebih sederhana. Berikut adalah beberapa tip untuk membantu Anda mempelajari cara menulis kode yang bersih.

Apalah arti sebuah nama

Kendrick Lamar (artis hip-hop Amerika - catatan editor) pernah mengatakan dengan tepat: "Jika saya ingin menceritakan kisah sebenarnya, saya harus memulai dengan nama saya." Nama-nama dalam pengembangan perangkat lunak ada dimana-mana. Kami memberi nama fungsi, kelas, argumen, paket, program—semuanya. Kami memberi nama file sumber dan buku referensi dan segala sesuatu yang berhubungan dengannya. Kami menamai berbagai hal tanpa henti, dan ini menjadi bagian penting dalam upaya menciptakan kode yang bersih. Nama yang Anda berikan pada sesuatu harus mencerminkan maksudnya. Mencari nama yang bagus memang tidak mudah, butuh waktu, tapi juga menghemat banyak waktu ketika harus berurusan dengan kode dan situasinya menjadi rumit. Jadi berhati-hatilah dengan proses ini dan jangan takut untuk mengganti nama nanti jika Anda menemukan sesuatu yang lebih cocok. Setiap orang yang berurusan dengan kode Anda akan sangat berterima kasih kepada Anda.

Ingatlah bahwa nama variabel, kelas, fungsi apa pun harus menjawab tiga pertanyaan utama: mengapa variabel tersebut (variabel, fungsi, dll.) ada, apa fungsinya, dan kegunaannya.

Hal ini tidak hanya membutuhkan keterampilan deskriptif yang baik, tetapi juga pengetahuan umum dan pandangan yang luas. Dan tidak ada yang bisa mengajari Anda hal ini lebih baik dari diri Anda sendiri.

kode bersih

“Satu fungsi” - satu hal

Louis Henry Sullivan (arsitek rasionalis dan modernis Amerika) pernah berkata dengan terkenal: “fungsi menentukan bentuk . ” Ia mengatakan demikian tentang arsitektur rumah, tetapi hal ini tidak mengubah esensinya. Setiap sistem dibangun pada bahasa khusus domain yang dibuat oleh pemrogram untuk mendeskripsikannya secara akurat. Fungsi bertindak sebagai kata kerja bahasa, dan kelas adalah kata benda. Seringkali, fungsi adalah hal terpenting dalam pengorganisasian bahasa pemrograman, dan menulisnya dengan benar adalah inti dari pembuatan kode yang baik. Hanya ada dua aturan emas untuk menulis fungsi kualitas:
  1. Mereka harusnya kecil
  2. Mereka harus melakukan satu hal, satu tugas, dan melakukannya dengan baik
Artinya, fungsi Anda harus kecil dan tidak berisi struktur bersarang. Oleh karena itu, tingkat lekukan fungsi tidak boleh lebih dari satu atau dua. Pendekatan ini membuat kode lebih mudah dibaca, dipahami, dan dipahami. Selain itu, kita harus yakin bahwa ekspresi dalam fungsi berada pada tingkat abstraksi yang sama. Mencampur level abstraksi dalam suatu fungsi selalu menimbulkan banyak kebingungan dan akhirnya menyebabkan kode tidak dapat dikelola. Pemrogram terbaik memperlakukan fungsi sebagai cerita untuk diceritakan, bukan sekadar kode untuk ditulis. Mereka menggunakan alat bahasa pemrograman pilihan mereka untuk membuat blok kode yang kaya, ekspresif, dan bersih yang pada dasarnya dapat bertindak sebagai pendongeng yang hebat.

“Komentar tidak menggantikan kode yang buruk”

Venus Williams, pemain tenis Amerika dan juara Wimbledon lima kali, sangat tepat ketika dia berkata: “Semua orang meninggalkan komentar mereka. Beginilah rumor muncul . " Komentar ibarat pedang bermata dua, komentar yang ditempatkan dengan baik adalah hal yang sangat berguna. Di sisi lain, tidak ada yang lebih mengacaukan ruang selain komentar yang sembrono dan tidak berguna. Namun komentar yang paling merusak adalah komentar yang menyebarkan misinformasi dan kebohongan. Singkatnya, komentar adalah kejahatan yang diperlukan. Tidak selalu, tapi sebagian besar. Mengapa? Sederhana saja, semakin lama sebuah komentar, semakin sulit pemeliharaannya, dan sebagian besar programmer, seperti yang Anda tahu, tidak selalu mengubah komentar seiring dengan perubahan kode. Kode tersebut bergerak dan berkembang. Bagian kode dipindahkan maju mundur, tetapi tidak ada komentar. Dan ini menjadi sebuah masalah!

Ingat: kode yang bersih dan jelas dengan sedikit komentar jauh lebih baik daripada kode yang rumit dan berantakan. Jangan buang energi Anda untuk menjelaskan kekacauan yang Anda buat di komentar. Lebih baik habiskan waktu itu untuk membereskan kekacauan itu.

kode bersih

“Pemformatan kode selalu menjadi prioritas”

Hal ini tak lain diungkapkan oleh Robert C. Martin (Robert Cecil Martin) alias Paman Bob, pengembang, penulis banyak buku tentang pengembangan perangkat lunak, konsultan, salah satu penulis manifesto Agile, dan lain sebagainya. Dan dia menambahkan: “Memformat kode adalah sejenis komunikasi. Dan komunikasi adalah prioritas utama bagi setiap pengembang profesional.” Pernyataan di atas tidak boleh diremehkan, karena ini menunjukkan salah satu karakteristik terpenting dari seorang pengembang yang hebat. Kode yang diformat memungkinkan Anda melihat jauh ke dalam pikiran Anda. Kami ingin membuat orang terkesan dengan kerapian kami, perhatian terhadap detail, kemampuan mengatur dan mengekspresikan pikiran kami dengan jelas. Tetapi jika, ketika orang melihat kodenya, mereka melihat semacam kebingungan, mengingatkan pada vinaigrette, tanpa awal dan akhir, ini meniadakan upaya Anda dan menurunkan reputasi pengembang. Jangan meragukannya! Anda sangat jauh dari kebenaran jika Anda berpikir bahwa hal utama dalam bisnis ini adalah “kodenya berfungsi”. Fungsionalitas yang Anda buat hari ini kemungkinan besar akan diubah pada rilis berikutnya, namun keterbacaan kode tidak akan berubah. Gaya kode dan keterbacaannya yang baik memudahkan pemeliharaan kode untuk waktu yang lama, bahkan setelah kode asli diubah hingga tidak dapat dikenali lagi.
Jangan pernah lupa bahwa di kemudian hari, yang kemungkinan besar akan diingat bukanlah kode Anda itu sendiri, melainkan gaya dan konsistensi Anda. Oleh karena itu, pastikan kode diformat dengan baik dan mengikuti aturan sederhana yang dapat dimengerti oleh semua anggota tim.

Pertama buat blok "coba-tangkap-akhirnya".

Georges Canguilhem (sejarawan sains, filsuf) dengan tepat menyatakan: “Membuat kesalahan adalah hal yang wajar bagi seseorang, tetapi bersikeras melakukan kesalahan adalah dari setan . ” Pemecahan masalah adalah sesuatu yang dilakukan semua programmer. Data yang tidak valid dapat masuk ke input dan perangkat mungkin gagal. Dan sebagai pengembang, kita perlu memastikan kode tersebut berfungsi sebagaimana mestinya. Persoalannya bukan hanya penanganan kesalahan, namun penanganan kesalahan yang “bersih dan mudah dibaca”. Banyak program beradaptasi dengan penanganan kesalahan. Jika Anda melakukan ini, semuanya akan menjadi kacau sehingga tujuan dan logika kode utama hancur. Ini salah, tidak seharusnya seperti ini. Kode harus bersih dan dapat diandalkan, dan penanganan kesalahan harus terjalin secara mulus dan alami ke dalam kode. Ini merupakan indikator seorang programmer kelas atas. Dan salah satu cara untuk mencapai hal ini adalah melalui penyatuan dan cakupan yang tepat dari semua kesalahan di blok coba-tangkap. Blok-blok ini menentukan cakupan kode Anda. Saat Anda mengeksekusi kode di bagian coba dari blok coba-tangkap-akhirnya, Anda menyatakan bahwa eksekusi dapat dibatalkan kapan saja dan kemudian dilanjutkan dalam satu tangkapan. Oleh karena itu, kami menyarankan untuk memulai dengan try-catch-finally saat Anda menulis kode. Ini akan membantu menentukan apa yang dapat diharapkan pengguna dari kode tersebut, terlepas dari apa yang salah dengan kode tersebut selama percobaan.
Ingatlah selalu bahwa setiap pengecualian yang Anda berikan harus berisi konteks yang cukup untuk menentukan lokasi dan sumber kesalahan. Pesan kesalahan yang kreatif dan informatif akan diingat lama setelah kode ditulis, bahkan ketika pemrogram sudah sibuk dengan tugas yang sangat berbeda.
kode bersih

Mari kita simpulkan

Satu ungkapan yang tidak biasa akan membantu kita meringkas semua hal di atas. Ini adalah code-sense atau “sense of common code,” sejenis programmer yang setara dengan common sense. Seperti kata-kata Robert Martin: “Menulis kode yang bersih memerlukan penggunaan banyak teknik kecil secara sistematis, yang diterapkan sebagai hasil dari rasa “kebersihan” yang cermat dan agak menyakitkan. Teknik-teknik kecil ini secara kolektif disebut code-sense . " Beberapa dari kita sudah memiliki “sense kode suara” ini sejak awal, sementara yang lain harus mengembangkannya melalui latihan yang terus-menerus. Naluri ini membantu tidak hanya untuk mengenali perbedaan antara kode buruk dan kode baik, tetapi juga membantu dalam pembentukan strategi yang bertujuan mengubah kode buruk menjadi kode baik. Kode yang buruk merusak segalanya. Secara kiasan, jika Anda membekukan kue paling enak dengan kotoran anjing, maka... uh... hampir tidak ada orang yang akan menyukainya. Pengertian kode membantu pemrogram menggunakan alat yang tepat untuk mencapai tujuannya dalam membuat kode yang bersih. Seorang programmer yang memahami apa itu code-sense adalah seorang seniman yang mampu menciptakan sebuah karya seni di layar kosong yang akan dikenang selama bertahun-tahun. Seperti yang dirangkum oleh Harold “Hal” Abelson, profesor ilmu komputer di Mit dan direktur pendiri Creative Commons dan Free Software Foundation: “Program harus ditulis terlebih dahulu agar orang dapat membacanya, baru kemudian dapat dibaca. dieksekusi.” mobil" . Apa yang dapat Anda baca tentang topik: “Buku Pegangan Keahlian Perangkat Lunak Agile” - Robert Martin. “Buku pegangan estimasi Agile” - Mike Cohn Tentang penulis: Ravi Shankar Rajan adalah Manajer Program TI Global dari Mumbai (India). Blogger terkenal, penyair haiku, penggemar arkeologi dan sejarah. Anda dapat terhubung dengannya di Twitter , Medium , LinkedIn
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION