Menulis Kode
Atur gem.
Menulis Kode adalah pelajaran Ruby Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ruby Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ruby Academy mencakup 4 pelajaran total.
Mengatur Kode Paket
Kode paket yang baik mudah dibaca, mudah dimuat, dan menggunakan ruang nama sehingga tidak pernah bertabrakan dengan pustaka lain. Alat utamanya adalah modul tingkat teratas yang membungkus semuanya.
- Satu modul ruang nama untuk setiap paket.
- Satu berkas untuk setiap kelas, yang mencerminkan ruang nama.
- Antarmuka publik yang kecil.
Modul Ruang Nama
Bungkus semua kelas dalam modul yang dinamai sesuai paket Anda. Dengan begitu, Client Anda tidak bertabrakan dengan Client milik orang lain.
module Greeter
class Hello
def message
"Hi there"
end
end
end
puts Greeter::Hello.new.messageKonvensi Penamaan Berkas
Peralatan Ruby mengharapkan jalur berkas sesuai dengan nama konstanta:
Greeterberada dilib/greeter.rb.Greeter::Helloberada dilib/greeter/hello.rb.
Konvensi ini memungkinkan pemuat otomatis menemukan berkas.
Memuat Berkas Internal
Berkas masuk menghubungkan semuanya dengan require_relative. Setiap berkas kelas dimuat sekali sehingga seluruh pustaka dapat dimuat dengan satu require 'greeter'.
Antarmuka Publik yang Jelas
Ungkapkan sejumlah kecil metode yang benar-benar dipanggil pengguna. Pola yang umum adalah metode kemudahan tingkat modul yang meneruskan pekerjaan ke kelas internal.
module Greeter
def self.say(name)
"Hello, " + name + "!"
end
end
puts Greeter.say("Ada")Menyembunyikan Bagian Internal
Tandai metode pembantu sebagai private agar metode tersebut tidak menjadi bagian dari kontrak publik Anda. Apa pun yang bersifat publik merupakan janji kepada pengguna; jagalah agar antarmuka itu sengaja dibuat dan tetap kecil.
class Calculator
def total(a, b)
add(a, b)
end
private
def add(x, y)
x + y
end
end
puts Calculator.new.total(2, 3)Pola Konfigurasi
Banyak paket menyediakan blok konfigurasi agar pengguna dapat mengatur opsi satu kali. Versi sederhananya menyimpan pengaturan pada objek konfigurasi.
module App
class Config
attr_accessor :api_key
end
def self.config
@config ||= Config.new
end
def self.configure
yield(config)
end
end
App.configure { |c| c.api_key = "secret" }
puts App.config.api_keyKesalahan Khusus
Definisikan kelas kesalahan khusus paket di bawah ruang nama Anda agar pengguna dapat menangani kesalahan Anda secara tepat. Turunkan kelas tersebut dari StandardError.
module Payment
class Error < StandardError; end
class DeclinedError < Error; end
end
begin
raise Payment::DeclinedError, "card declined"
rescue Payment::Error => e
puts "Handled: " + e.message
endHindari Modifikasi Global
Hindari mengubah kelas inti seperti String secara global. Hal itu menimbulkan kejutan pada kode lain. Jika Anda harus memperluasnya, gunakan penyempurnaan agar perubahan terbatas pada cakupan tertentu, atau tambahkan metode pembantu di kelas Anda sendiri.
Gunakan Dependensi Secukupnya
Setiap dependensi waktu berjalan yang Anda tambahkan menjadi dependensi bagi semua pengguna Anda. Sebisa mungkin, pilih pustaka standar, dan tambahkan paket hanya jika manfaatnya benar-benar sepadan.
Dependensi yang lebih sedikit berarti lebih sedikit konflik versi dan pemasangan yang lebih cepat.
Dokumentasikan Antarmuka Publik
Tambahkan komentar yang menjelaskan argumen dan nilai hasil setiap metode publik. Alat seperti YARD mengubahnya menjadi dokumentasi yang dapat ditelusuri, dan README yang baik dengan contoh sering kali menentukan apakah orang akan menggunakan paket Anda.
Pemeriksaan Singkat
Uji pemahaman Anda tentang pengaturan kode paket.
Ringkasan: Menulis Kode
Anda telah mempelajari cara mengatur bagian internal paket:
- Bungkus semuanya dalam modul ruang nama.
- Sesuaikan jalur berkas dengan nama konstanta.
- Jaga agar antarmuka publik tetap kecil dan tandai pembantu sebagai
private. - Definisikan kelas kesalahan khusus dan hindari modifikasi global.
- Gunakan dependensi secukupnya dan dokumentasikan antarmuka.
Selanjutnya, kita menambahkan pengujian dan pemberian versi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menulis Kode” gratis?
Ya — teks lengkap “Menulis Kode” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ruby Academy, upgrade ke CoddyKit PRO. Kursus Ruby Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menulis Kode”?
Atur gem. Kamu berlatih Ruby Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Ruby Academy?
Tidak diperlukan pengalaman sebelumnya. Ruby Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Menulis Kode” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Ruby Academy ini?
Ya. Setiap pelajaran Ruby Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.