Iklan

Tanpa ragu, pemrograman itu sulit. Satu hal untuk belajar bahasa dan belajar algoritma, tetapi ini adalah binatang buas lain yang mencoba membuat kode aplikasi kerja kompleks yang tidak membuat Anda ingin mencungkil mata Anda.

Di satu sisi, menulis kode bersih sangat mirip dengan menggambar, memasak, atau fotografi — itu terlihat lebih mudah daripada yang sebenarnya. Jadi mengapa repot? Ya, karena manfaatnya sepadan:

  • Masalah menjadi lebih mudah untuk dipecahkan. Setelah Anda mulai berpikir dalam kode bersih, pendekatan Anda untuk memecahkan masalah berubah. Alih-alih solusi kasar, algoritma dan desain perangkat lunak Anda menjadi lebih elegan dan disengaja.
  • Lebih sedikit waktu yang terbuang untuk perawatan. Kode bersih lebih mudah dibaca dan dipahami, jadi Anda menghabiskan lebih sedikit waktu untuk mencari tahu apa yang sebenarnya dilakukan segmen tertentu dan lebih banyak waktu untuk memperbaiki, merevisi, memperluas, dll.
  • Gagasan lebih jelas dikomunikasikan. Jika Anda bekerja dengan programmer lain, kode bersih mengurangi kemungkinan kesalahpahaman di antara Anda semua, yang juga berarti lebih sedikit bug dalam jangka panjang.

Inilah cara ANDA dapat mulai menulis kode bersih.

1. Gunakan Nama Deskriptif

Apa variabel, kelas, dan fungsi? Ada banyak cara untuk menjawab itu, tetapi ketika Anda benar-benar memikirkannya, hal-hal itu tidak lebih dari antarmuka antara seorang programmer dan logika yang mendasari suatu aplikasi.

Jadi ketika Anda menggunakan nama yang tidak jelas dan non-deskriptif untuk variabel, kelas, dan fungsi, Anda pada dasarnya mengaburkan logika aplikasi dari programmer mana pun yang membaca kode, termasuk Anda sendiri.

“Saya bukan programmer yang hebat; Saya hanya seorang programmer yang baik dengan kebiasaan hebat. "
- Kent Beck

Apa nama variabel dxy sebenarnya berarti? Siapa tahu. Anda mungkin harus membaca seluruh bagian kode untuk merekayasa balik maknanya. Di sisi lain, makna variabel suka jarakBetweenXY langsung dikenali.

Hal yang sama berlaku untuk kelas dan fungsi. Jangan puas CalcTan () kapan kamu bisa pergi CalculateTangent () atau CalcTangentAngle () sebagai gantinya.

2. Berikan Setiap Kelas / Fungsi Satu Tujuan

Pernahkah Anda mengintip ke dalam fungsi yang panjangnya ratusan atau bahkan ribuan baris? Jika sudah, maka Anda tahu betapa sakitnya menelusuri, memahami, dan mengedit. Komentar dapat membantu tetapi hanya pada tingkat yang terbatas.

“Pemrograman memecah satu tugas besar yang mustahil menjadi beberapa tugas kecil yang mungkin.”
- Jazz ingin

Kode bersih dipecah menjadi potongan atom. Setiap fungsi harus bertujuan untuk melakukan satu hal dan setiap kelas harus bertujuan untuk mewakili satu konsep tertentu. Ini tentu saja penyederhanaan, tetapi ketika ragu, lebih sederhana lebih bersih.

Dalam prakteknya, perhitungan yang rumit seperti GetCreditScore () mungkin perlu dipecah menjadi beberapa fungsi pembantu seperti GetCreditReports (), ApplyCreditHistoryAge (), dan FilterOutstandingMarks ().

3. Hapus Kode yang Tidak Perlu

Kebiasaan buruk ini adalah kebiasaan yang masih saya perjuangkan dari waktu ke waktu. Ini biasanya terjadi seperti ini: Saya ingin memperbaiki atau mengoptimalkan sepotong kode jadi saya berkomentar dan menulis ulang tepat di bawahnya - dan meskipun berfungsi, saya tetap menyimpan kode lama untuk berjaga-jaga.

"Apakah mungkin perangkat lunak tidak seperti yang lain, yang dimaksudkan untuk dibuang: bahwa intinya adalah untuk selalu melihatnya sebagai gelembung sabun?"
- Alan J. Perlis

Seiring waktu, saya mengumpulkan banyak sekali blok kode yang sudah dikomentari yang tidak lagi diperlukan namun mengacaukan file sumber saya. Dan lucunya dalam banyak kasus, kode di sekitarnya telah berevolusi sehingga kode yang dikomentari tidak akan berfungsi bahkan jika dipulihkan.

Masalahnya, praktik berkomentar "kode cadangan" ini dibuat usang oleh kontrol sumber. Jika Anda tidak menggunakan sesuatu seperti Git atau Mercurial, Anda harus melakukannya mulai menggunakan kontrol sumber segera. Kode bersih menunggu Anda.

Ingat, penting juga untuk menghindari penulisan kode berulang, yang dapat Anda capai dengan mudah dengan kerangka kerja web. Berikut ini beberapa kerangka kerja web layak dipelajari sebagai pengembang 5 Kerangka Web Layak Belajar untuk PengembangTertarik untuk mempelajari pengembangan web lanjutan? Hindari menulis kode berulang menggunakan kerangka kerja pengembangan web ini sebagai gantinya. Baca lebih banyak .

4. Keterbacaan> Kecerdasan

Terlalu banyak pemrogram yang mengonfigurasi "kode bersih" dengan "kode pintar", seolah-olah memadatkan sepuluh baris menjadi satu, entah bagaimana, lebih bersih. Tentu, ini membutuhkan lebih sedikit ruang di layar, tetapi apakah sebenarnya lebih mudah untuk dipahami? Terkadang, mungkin. Tetapi sebagian besar waktu? Tidak.

“Semua orang tahu bahwa debugging dua kali lebih sulit daripada menulis sebuah program. Jadi jika Anda sepintar ketika Anda menulisnya, bagaimana Anda akan men-debug-nya? "
- Brian W. Kernighan

Saya pikir programmer suka kode pintar karena rasanya seperti memecahkan teka-teki atau teka-teki. Mereka menemukan cara khusus dan unik untuk mengimplementasikan sesuatu - "jalan pintas" jika Anda mau - dan itu hampir bertindak sebagai validasi dari keterampilan programmer.

Tetapi untuk menulis kode bersih, Anda harus meninggalkan ego Anda di depan pintu.

Selalu optimalkan kode untuk orang berikutnya yang akan membacanya, karena kemungkinan besar orang berikutnya benar-benar akan menjadi ANDA dan tidak ada yang lebih memalukan selain tidak dapat membaca atau memahami milik Anda kepandaian.

5. Pertahankan Gaya Pengodean yang Konsisten

saya sudah tidak ada yang menentang tutorial pemrograman yang baik Apa yang Membuat Tutorial Pemrograman yang Baik?Tidak semua tutorial pemrograman dibuat setara. Beberapa manfaat Anda dan orang lain akhirnya membuang-buang waktu Anda. Inilah yang harus dicari dalam tutorial pemrograman berkualitas. Baca lebih banyak , tetapi salah satu kelemahannya adalah bahwa pemula akhirnya mengambil berbagai kebiasaan yang saling bertentangan, terutama karena mereka berkaitan dengan gaya pengkodean.

Saya di sini bukan untuk menyatakan bahwa satu gaya lebih baik daripada yang lain. Jika Anda ingin kawat gigi pada jalurnya sendiri, lakukanlah. Jika Anda ingin mengawali panggilan metode dengan spasi, baik-baik saja. Jika Anda lebih suka tab daripada spasi, jangan biarkan saya meyakinkan Anda sebaliknya.

Tapi apa pun yang Anda lakukan, tetaplah konsisten!

Cantik lebih baik dari yang jelek.
Eksplisit lebih baik daripada implisit.
Sederhana lebih baik daripada kompleks.
Kompleks lebih baik daripada rumit.
Flat lebih baik daripada bersarang.
Jarang lebih baik daripada padat.
Jumlah keterbacaan diperhitungkan.
- Tim Peters, Zen Python

Jika Anda akan menggunakan camelCaseNaming untuk variabel, jangan memalsukannya dengan underscore_naming. Jika Anda menggunakan GetThisObject () di satu tempat, jangan ikut FetchThatObject () di tempat lain. Dan jika Anda mencampur tab dan spasi, Anda layak mengambil keyboard Anda.

Putuskan apa yang akan Anda lakukan sejak awal dan teruskan terus menerus. Beberapa bahasa, seperti Python dan C #, memiliki panduan gaya bahasa yang mungkin ingin Anda ikuti.

6. Pilih Arsitektur yang Tepat

Ada banyak paradigma dan arsitektur berbeda yang dapat Anda gunakan untuk membuat proyek Anda. Perhatikan bagaimana tip ini tentang memilih Baik satu untuk kebutuhan Anda, bukan tentang memilih terbaik satu di luar sana. Tidak ada yang "terbaik" di sini.

"Tanpa persyaratan dan desain, pemrograman adalah seni menambahkan bug ke file teks kosong."
- Louis Srygley

Misalnya, pola Model-View-Controller (MVC) sangat populer saat ini dalam pengembangan web karena membantu menjaga kode Anda terorganisir dan dirancang sedemikian rupa sehingga meminimalkan upaya pemeliharaan.

Demikian pula, pola Entity-Component-System (ECS) sangat populer saat ini dalam pengembangan game karena itu membantu memodulasi data permainan dan logika dengan cara yang membuat pemeliharaan lebih mudah, sambil menghasilkan kode yang lebih mudah Baca.

7. Kuasai Idiom Bahasa

Salah satu kesulitan dalam menguasai bahasa pemrograman baru 7 Trik yang Berguna untuk Menguasai Bahasa Pemrograman BaruTidak apa-apa untuk kewalahan ketika Anda belajar kode. Anda mungkin akan melupakan hal-hal secepat Anda mempelajarinya. Kiat-kiat ini dapat membantu Anda mempertahankan semua informasi baru dengan lebih baik. Baca lebih banyak sedang mempelajari nuansa yang memisahkannya dari semua bahasa lain. Nuansa ini dapat menjadi perbedaan antara kode yang jelek, berbelit-belit, dan kode yang indah dan mudah dirawat.

Pertimbangkan Python, Java, dan JavaScript. Mereka semua sangat berbeda satu sama lain, hingga tingkat yang membutuhkan cara berpikir yang berbeda tergantung pada bahasa yang Anda pilih untuk digunakan.

"Bahasa yang tidak memengaruhi cara Anda berpikir tentang pemrograman tidak perlu diketahui."
- Alan J. Perlis

Sedangkan Python adalah semua tentang kode kompak dan mengetik bebek, Java lebih mengarah pada sisi verbosity dan explicitness. Setiap bahasa memiliki idiom (seperti daftar pemahaman dengan Python) yang mendorong cara pengkodean tertentu. Anda sebaiknya mempelajarinya.

Ada juga "anti-pola" yang perlu dikhawatirkan, yang pada dasarnya adalah pola desain sub-optimal yang menghasilkan kode yang tidak efisien, tidak dapat diandalkan, atau buruk. Pelajari dan hilangkan semua pola umum yang terkait dengan bahasa pilihan Anda.

8. Pelajari Kode Master

Jika Anda ingin menulis kode bersih, hal terbaik yang dapat Anda lakukan adalah melihat seperti apa kode bersih itu dan mencoba melakukannya pahami mengapa memang demikian adanya - dan tidak ada cara yang lebih baik untuk melakukan ini selain dengan mempelajari file sumber dari master industri.

Jelas, Anda tidak bisa begitu saja masuk ke kantor pusat Microsoft dan mengintip proyek mereka, tetapi Anda selalu bisa telusuri proyek-proyek sumber terbuka yang terkenal Cara Melihat & Mengedit Kode Sumber Aplikasi Open-SourceWalaupun menggunakan open source mungkin merupakan pilihan yang baik, Anda juga perlu berinvestasi di komunitas yang tepat. GitHub adalah salah satu tempat terbaik untuk melakukan ini, bukan hanya karena jumlah ... Baca lebih banyak . Tidak tahu harus mulai dari mana? Coba memamerkan proyek di Github.

“Orang bodoh mana pun bisa menulis kode yang bisa dimengerti komputer. Pemrogram yang baik menulis kode yang dapat dimengerti manusia. ”
- Martin Fowler, Refactoring: Meningkatkan Desain Kode yang Ada

Lagipula, itulah salah satu alasannya mengapa proyek sumber terbuka ada Mengapa Orang Berkontribusi pada Proyek Sumber Terbuka?Pengembangan open source adalah masa depan perangkat lunak. Ini bagus untuk pengguna karena perangkat lunak open source biasanya tersedia gratis dan seringkali lebih aman untuk digunakan. Tetapi apa yang memaksa pengembang untuk berkontribusi kode secara gratis? Baca lebih banyak : agar orang lain dapat belajar dari mereka. Dan jika Anda memutuskan untuk berkontribusi pada proyek semacam itu, dapat mempercepat proses pembelajaran 5 Ide Proyek Untuk Membantu Anda Belajar Pemrograman Lebih CepatAda beberapa cara untuk memudahkan kurva belajar untuk pemrograman. Jadikan tangan Anda kotor dan belajar lebih cepat dengan proyek sampingan yang dapat Anda mulai kapan saja. Bermain-main dengan lima ini. Baca lebih banyak .

Secara pribadi, pertama kali saya melihat kode yang benar-benar bersih adalah ketika saya menemukan proyek Python open-source hobiis tertentu. Kode itu begitu anggun sehingga saya hampir berhenti pemrograman, tetapi akhirnya banyak mengajar saya.

9. Tulis Komentar Baik

“Menulis komentar yang baik” adalah nasihat tertua di dunia pemrograman. Faktanya, begitu pemula diperkenalkan pada komentar, mereka cukup terdorong untuk berkomentar sesering mungkin.

Tapi rasanya hampir seperti kita mengayun terlalu jauh ke arah yang berlawanan. Pemula, khususnya, cenderung berkomentar berlebihan - mendeskripsikan hal-hal yang tidak perlu dijelaskan dan kehilangan inti dari apa sebenarnya "komentar yang baik" sebenarnya.

"Selalu kode seolah-olah orang yang akhirnya mempertahankan kode Anda akan menjadi psikopat kejam yang tahu di mana Anda tinggal."
- John Woods

Berikut ini adalah aturan praktis yang baik: ada komentar untuk menjelaskan MENGAPA sepotong kode ada daripada APA yang sebenarnya kode lakukan. Jika kode ditulis dengan cukup bersih, harus jelas dengan apa yang dilakukannya - komentar harus menjelaskan niat di balik mengapa itu ditulis.

Komentar bisa baik untuk peringatan (mis. "Menghapus ini akan merusak A, B, dan C") tetapi sebagian besar harus mengungkap hal-hal yang tidak dapat segera diperoleh dari kode (mis. "gunakan parameter ini karena X, Y, dan Z ”).

10. Refactor, Refactor, Refactor

Sama seperti mengedit adalah bagian dari proses penulisan, refactoring adalah bagian dari proses pengkodean. Keengganan untuk refactoring adalah cara tercepat untuk berakhir dengan kode yang tidak dapat dipertahankan, jadi dalam banyak hal ini sebenarnya tip paling penting untuk dipertimbangkan.

Singkatnya, refactoring hanyalah istilah mewah untuk membersihkan kode tanpa mempengaruhi perilaku aktualnya.

"Setiap kali saya harus berpikir untuk memahami apa yang dilakukan kode, saya bertanya pada diri sendiri apakah saya dapat memperbaiki kode untuk membuat pemahaman itu lebih jelas."
- Martin Fowler, Refactoring: Meningkatkan Desain Kode yang Ada

Satu hikmah yang melekat pada saya adalah pepatah, “Jangan berkomentar kode buruk. Tulis ulang. " Seperti yang dijelaskan Fowler dalam kutipan di atas, jika kode pernah terasa cukup membingungkan sehingga Anda perlu berkomentar, mungkin Anda benar-benar perlu mengubahnya.

Selanjutnya, saat Anda mengedit bit kode di sana-sini di seluruh proyek Anda, selalu tinggalkan kode dalam keadaan yang lebih baik daripada saat pertama kali menemukannya. Ini mungkin tampak seperti gangguan pada saat itu, tetapi itu akan membuahkan hasil dalam jangka panjang (dan bahkan dapat mencegah kelelahan mental Pemrograman Burnout: Cara Mendapatkan Kembali Motivasi Hilang AndaMenulis semua baris kode dapat menguras fisik dan emosional. Yang Anda butuhkan untuk bangkit kembali adalah kesadaran bahwa motivasi dapat diperoleh kembali. Baca lebih banyak ).

Selalu Ada Sesuatu yang Baru untuk Dipelajari

Seorang programmer yang mempelajari cara menulis kode bersih mirip dengan seorang novelis yang belajar menulis prosa bersih: tidak ada cara yang benar untuk melakukannya sendiri, tetapi ada banyak cara yang salah untuk melakukannya, dan itu akan memakan waktu bertahun-tahun untuk menguasai.

Beberapa orang tidak memiliki apa yang diperlukan dan akhirnya berhenti pemrograman untuk selamanya 6 Tanda Bahwa Anda Tidak Ingin Menjadi ProgrammerTidak semua orang cocok menjadi programmer. Jika Anda tidak sepenuhnya yakin bahwa Anda ditakdirkan untuk menjadi seorang programmer, berikut adalah beberapa tanda yang dapat mengarahkan Anda ke arah yang benar. Baca lebih banyak - dan itu bagus karena ada banyak pekerjaan teknis lainnya yang tidak melibatkan pengkodean 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 . Tetapi untuk semua orang, kode bersih adalah sesuatu yang benar-benar layak diperjuangkan, bahkan jika dibutuhkan sisa hidup Anda untuk sampai ke sana.

Joel Lee memiliki gelar B.S. dalam Ilmu Komputer dan lebih dari enam tahun pengalaman menulis profesional. Dia adalah Pemimpin Redaksi untuk MakeUseOf.