0Pricing
Ruby Academy · Pelajaran

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.message

Konvensi Penamaan Berkas

Peralatan Ruby mengharapkan jalur berkas sesuai dengan nama konstanta:

  • Greeter berada di lib/greeter.rb.
  • Greeter::Hello berada di lib/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_key

Kesalahan 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
end

Hindari 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.

Semua pelajaran dalam kursus ini

  1. Struktur Gem
  2. Menulis Kode
  3. Pengujian dan Pemberian Versi
  4. Mempublikasikan ke RubyGems
← Kembali ke Ruby Academy