Ada satu jebakan keterbacaan kode yang mudah dihindari begitu Anda menyadarinya, namun jebakan itu meresap: menghilangkan unit. Pertimbangkan tiga cuplikan berikut dalam Python, Java, dan Haskell:
Berapa lama program ini tidur? Program Python tidur selama lima menit, program Java tidur selama 0,3 detik, dan program Haskell tidur selama 0,3 milidetik.
Bagaimana Anda bisa mengetahuinya dari kode ? Anda tidak bisa. Anda hanya perlu hafal bahwa time.sleep
membutuhkan beberapa detik, sedangkan threadDelay
membutuhkan waktu mikrodetik. Jika Anda cukup sering mencarinya, pada akhirnya pengetahuan itu akan melekat, tetapi bagaimana kita bisa menjaga agar kode tetap dapat dibaca bahkan untuk orang yang belum pernah bertemu time.sleep sebelumnya?
Opsi 1: pasang unit dalam nama
Alih-alih ini:
def frobnicate(batas waktu: int) -> Tidak ada: ...frobnicate(300)
Melakukan hal ini:
def frobnicate(*, timeout_seconds: int) - > Tidak ada:
# memaksa penelepon untuk menggunakan argumen bernama # untuk semua argumen setelah *. ...frobnicate(timeout_seconds=300)
Dalam kasus pertama, kami bahkan tidak dapat mengatakan di situs panggilan bahwa 300 adalah batas waktu, tetapi bahkan jika kita tahu itu, itu adalah batas waktu 300, apa? Milidetik? Detik? hari di Mars? Sebaliknya, situs panggilan kedua sepenuhnya cukup jelas.
Menggunakan argumen bernama bagus untuk bahasa yang mendukungnya, tetapi ini tidak selalu memungkinkan. Bahkan dalam Python, di mana time.sleep didefinisikan dengan satu argumen bernama dtk
karena alasan implementasi. Dalam hal ini, kita dapat memberikan nilai sebuah nama sebagai gantinya.
Alih-alih ini:
Melakukan hal ini:
sleep_seconds = 300waktu.tidur(sleep_seconds)
Sekarang kodenya tidak ambigu, dan dapat dibaca tanpa harus membaca dokumentasi.
Opsi 2: gunakan tipe kuat
Alternatif untuk menempatkan unit di name, adalah menggunakan tipe yang lebih kuat daripada integer atau float. Misalnya, kita mungkin menggunakan tipe durasi.
Alih-alih ini:
def frobnicate(batas waktu: int) -> Tidak ada: ...
frobnicate( 300)
Melakukan hal ini:
def frobnicate(batas waktu: timedelta) -> Tidak ada: ... batas waktu = delta waktu(detik=300)
frobnicate(batas waktu)
Untuk angka floating-point tertentu, Anda perlu diberi tahu di luar pita apa unit untuk dapat menafsirkannya . Jika Anda beruntung, informasi ini ada dalam nama variabel atau argumen, tetapi jika Anda tidak beruntung, informasi ini hanya ditentukan dalam dokumentasi — atau tidak ditentukan sama sekali. Tetapi untuk nilai timedelta, tidak ada ambiguitas tentang bagaimana menafsirkannya, ini adalah bagian dari jenisnya. Ini juga menghilangkan ambiguitas dari kode.
Cakupan
Saran untuk menggunakan tipe kuat atau untuk menempatkan unit dalam nama tidak terbatas pada variabel dan argumen fungsi , ini berlaku untuk API s, nama metrik, format serialisasi, file konfigurasi, flag baris perintah, dll. Dan meskipun nilai durasi adalah kasus yang paling umum, saran ini tidak terbatas pada itu, tetapi juga berlaku untuk jumlah moneter, panjang, data ukuran, dll.
9 Rahasia Tidur Nyenyak yang Wajib Diketahui Pendahuluan Sulit tidur? Anda tidak sendirian. Jutaan orang berjuang untuk mendapatkan tidur yang nyenyak di malam hari. Tapi jangan khawatir, ada banyak hal yang dapat Anda lakukan untuk meningkatkan kualitas…
Rahasia Anti Ngantuk: Tips Ampuh Agar Tetap Fokus… Pernahkah Anda merasa ingin tidur di saat yang tidak tepat? Seperti saat bekerja, belajar, atau bahkan saat sedang menyetir? Jika ya, Anda tidak sendirian. Banyak orang yang mengalami masalah ini.…
Rajakan Berat Badan Ideal Tanpa Diet Ketat: Cara… Tips Menurunkan Berat Badan Tanpa Diet yang Dapat Anda Coba Menurunkan berat badan tanpa diet mungkin terasa mustahil, tetapi sebenarnya ada banyak cara yang dapat Anda lakukan untuk mencapai tujuan…
Rahasia Diet Sehat dan Aman untuk Ibu Menyusui:… Bagaimana Cara Diet Sehat untuk Ibu Menyusui Tanpa Membuat ASI Hilang? Menjadi ibu menyusui merupakan momen yang membahagiakan sekaligus menantang. Di satu sisi, Anda ingin memberikan ASI terbaik untuk buah…
Obral Valentine: Pelajari cara membuat kode dengan… StackCommerce Pemrogram profesional mendapatkan upah yang layak. Gaji bervariasi dari satu negara bagian ke negara bagian lainnya dan bergantung pada faktor lain, tetapi mungkin saja seorang pembuat kode yang berbakat…
Rahasia Diet Sehat Pemula: Raih Tubuh Ideal tanpa… Diet Sehat Pemula, Langkah Awal untuk Hidup Sehat Di era modern ini, menjaga kesehatan menjadi hal yang sangat penting. Salah satu cara untuk menjaga kesehatan adalah dengan menerapkan pola makan…
Langkah-Langkah Pendaftaran Kartu Prakerja Gelombang 12 2021 PMO sedang bersiap untuk membuka gelombang ke-12 pendaftaran program Kartu Prakerja. Tetapi bagi yang sudah mendaftar di tahun 2020 tidak bisa untuk mendaftarkan dirinya kembali. Namun, terkait pembukaan pendaftaran…
Rahasia Langsing: Tips Turunkan Berat Badan Mudah dan Cepat Tips Menurunkan Berat Badan dengan Cepat dan Sehat Apakah Anda pernah merasa kesulitan untuk menurunkan berat badan? Apakah Anda sudah mencoba berbagai macam diet dan olahraga, tetapi hasilnya tidak sesuai…
Rahasia Jitu: Cegah Kantuk saat Belajar, Raih… Tips Agar Tidak Ngantuk Saat Berkendara, Kerja, atau Belajar Pernahkah Anda merasa ngantuk saat sedang berkendara, bekerja, atau belajar? Jika ya, Anda tidak sendirian. Rasa kantuk merupakan masalah umum yang…
Rahasia Menurunkan Berat Badan Secara Cepat dan… Bagaimana Cara Menurunkan Berat Badan dengan Cepat dan Sehat? Menurunkan berat badan dengan cepat merupakan keinginan banyak orang, terutama bagi mereka yang ingin terlihat lebih langsing dan sehat. Namun, menurunkan…
Penjelasan Beranotasi Simon Willison tentang… TIL Simon Willison David Beazley di Twitter: Jadi, saya baru saja menerbitkan putaran jahat yang nikmat ini di kelas data. Ini kecil dan kelas yang dihasilkan mengimpor sekitar 15-20 lebih…
5 Rahasia Lolos Ujian PPMM: Jaminan Anti Gagal! Pernahkah kamu merasa bingung dengan jalur karier yang akan kamu ambil setelah lulus kuliah? Atau, kamu merasa tidak puas dengan pekerjaanmu saat ini dan ingin mencari peluang yang lebih baik?…
Bagaimana cara meminta perlindungan asuransi… Jika Anda mengalami obesitas, mendapatkan perawatan medis dan dukungan lain yang layak Anda dapatkan bisa jadi sulit. Asuransi mungkin tidak mencakup semua perawatan modern atau program khusus. Dan biaya Anda…
Cara Ampuh dan Mengejutkan: Turunkan Berat Badan… Mendambakan berat badan ideal namun kesulitan mencapainya? Jangan khawatir, Anda tidak sendirian. Sejarah Indonesia Intan. Tapi, tenang saja, ada beberapa cara turun berat badan mendadak yang bisa Anda coba. Yuk,…
Intro ramah pemula untuk pemrograman Java ini hanya… StackCommerce Kami mengunduh lebih banyak aplikasi pada tahun 2021 daripada sebelumnya. Dan tren menunjukkan bahwa kami akan mengunduh lebih banyak lagi tahun ini. Inti nya? Jika Anda mencari karier yang…
Rajakan Berat Badan Ideal Tanpa Diet Ketat: Cara… Rekrutmen CPNS: Jenjang Menurunkan berat badan tanpa diet mungkin terasa mustahil, tetapi sebenarnya ada banyak cara yang dapat Anda lakukan untuk mencapai tujuan ini. Berikut beberapa tips menurunkan berat badan…
Menungkap Rahasia Menambah Berat Badan untuk… Pernahkah Anda merasa kurus dan sulit menaikkan berat badan? Jika ya, Anda mungkin termasuk dalam tipe tubuh ectomorph. Ectomorph adalah tipe tubuh yang cenderung kurus dan sulit menambah berat badan.…
Cara Mudah Menurunkan Berat Badan dalam 1 Bulan:… Ingin Turunkan Berat Badan dalam 1 Bulan? Berikut Tips Ampuh Wujudkan Impianmu! Berat badan berlebih bukan hanya mengganggu penampilan, tetapi juga kesehatan. Obesitas dapat menyebabkan berbagai penyakit kronis seperti jantung,…
Rahasia Diet Sehat dan Aman untuk Ibu Menyusui:… Bagaimana Cara Diet Sehat untuk Ibu Menyusui Tanpa Membuat ASI Hilang? Menjadi ibu menyusui merupakan momen yang membahagiakan sekaligus menantang. Di satu sisi, Anda ingin memberikan ASI terbaik untuk buah…
Rahasia Hidup Sehat Tanpa Kurang Tidur: Raih Hidup… Kurang Tidur, Awas! Bahayanya Mengintai Kesehatan Anda Kurang tidur merupakan salah satu masalah kesehatan yang umum terjadi dan dapat dialami oleh siapa saja. Kondisi ini dapat disebabkan oleh berbagai faktor,…
Rahasia Tidur Cepat: Meraih Malam Tenang dalam… Tahukah Anda bahwa tidur yang nyenyak dapat membantu Anda menjalani hari yang lebih produktif? Namun, bagi sebagian orang, mendapatkan tidur yang nyenyak bukanlah hal yang mudah. Jika Anda termasuk salah…
Paket pelatihan Microsoft PowerShell yang berharga… StackCommerce Setiap orang yang bekerja di bidang TI harus memiliki setidaknya pengetahuan tentang Microsoft PowerShell. Apakah Anda perlu sedikit penyegaran? Kemudian Bundel Sertifikasi Windows PowerShell 2022 adalah pilihan yang ideal.…
Cara Aman Menurunkan Berat Badan Bagi Ibu Hamil Cara Menurunkan Berat Badan ketika Hamil yang Aman dan Sehat Menjaga berat badan yang sehat selama kehamilan sangat penting bagi kesehatan ibu dan bayi. Namun, banyak ibu hamil yang mengalami…
Insomnia? 10 Tips Mendapatkan Kunci Morpheus Secara… Tahukah Anda bahwa kualitas tidur yang baik dapat meningkatkan kesehatan fisik dan mental Anda secara keseluruhan? Namun, bagi sebagian orang, mendapatkan tidur yang cukup dan berkualitas mungkin merupakan perjuangan nyata.…
Black Friday Sale: Kesempatan terakhir untuk… Musim pemberian hadiah itu sulit. Di atas stresor biasa dalam hidup Anda, Anda masih harus menemukan waktu untuk berbelanja untuk semua orang di daftar Anda. Tetapi dengan cadangan rantai pasokan…
Insomnia bukan hanya gangguan. Ini dapat memiliki… Erica pertama kali mengunjungi dokter karena ketidakmampuannya untuk tidur atau insomnia, dia berusia 9 tahun. "Saya terutama ingat dia bertanya kepada saya berapa banyak soda yang saya minum," katanya. Sayangnya,…
Rahasia Tidur Cepat: Meraih Malam Tenang dalam… Tahukah Anda bahwa tidur yang nyenyak dapat membantu Anda menjalani hari yang lebih produktif? Namun, bagi sebagian orang, mendapatkan tidur yang nyenyak bukanlah hal yang mudah. Jika Anda termasuk salah…
Pencarian saya untuk tidur tanpa gangguan Biasanya terjadi secara perlahan. Seperti sudut bayangan yang diangkat ke dalam ruangan hitam, membiarkan secercah cahaya masuk, pikiran tentang apa yang harus saya lakukan dan anak-anak saya menyelinap pergi di…
Rahasia Langsing dengan Fitness Tanpa Gagal Demi… Langkah Sederhana untuk Menurunkan Berat Badan yang Efektif dan Sehat Memulai perjalanan penurunan berat badan bukanlah hal yang mudah, bukan? Anda mungkin merasa kewalahan dan tidak yakin harus mulai dari…
DOS pada Dope 06 September 2010 html, , blog, keamanan, [code], sysadmin, produktivitas, sql, css, baris perintah, fungsional Tahun Baru, Penjualan On Rails.... Ketika Anda sudah mencapai batas Haskell di atas Kuda... Jika…