Jika memungkinkan .. apakah Anda membiarkan tanda kurung di dalam atau di luar di Ruby?
Jika memungkinkan .. apakah Anda membiarkan tanda kurung di dalam atau di luar di Ruby?
Jawaban:
Ruby memungkinkan Anda untuk meninggalkan tanda kurung, secara umum, tahan godaan ini.
Tanda kurung membuat kode lebih mudah diikuti. Gaya umum Ruby digunakan, kecuali dalam kasus berikut:
- Selalu biarkan tanda kurung kosong
- Tanda kurung dapat ditinggalkan dari satu perintah yang dikelilingi oleh pembatas ERb - penanda ERb memastikan kode masih dapat dibaca
- Baris yang merupakan satu perintah dan satu argumen sederhana dapat ditulis tanpa tanda kurung. Secara pribadi, saya menemukan bahwa saya melakukan ini semakin jarang, tetapi masih dapat dibaca dengan sempurna. Saya cenderung tidak menyukai satu baris dalam kode ruby biasa yang memiliki banyak argumen dan tidak ada tanda kurung.
- Banyak Bahasa Khusus Domain berbasis Ruby (seperti Rake) tidak menggunakan tanda kurung untuk mempertahankan nuansa bahasa yang lebih natural pada pernyataan mereka.
Saya menggunakan parens sebagai komentar untuk membantu saya di masa depan ... yang cenderung memiliki lebih sedikit sel otak daripada saya saat ini :-)
Tidak ada yang lebih buruk daripada melihat beberapa kode yang Anda tulis 2 tahun lalu dan salah paham, sehingga Anda merusak sesuatu saat memodifikasinya.
Jika parens akan menyelamatkan masa depan saya beberapa menit (atau jam) di masa depan, saya akan memasukkan sebanyak yang diperlukan untuk membuat pernyataan itu jelas.
Saya meninggalkannya saat saya melakukan hal-hal DSL, seperti t.column atau has_many in rails. Sisa waktu, umumnya bermuara pada kejelasan, dan itu mungkin perpecahan yang merata.
Jika yang Anda maksud dalam pemanggilan fungsi, saya selalu memasukkan tanda kurung karena selalu lebih mudah dibaca. Jika yang Anda maksud dalam kondisi (jika, sementara), saya hanya meletakkan tanda kurung jika diperlukan.
Saya cenderung mengabaikannya saat melakukan pernyataan seperti assert_equal. Mungkin untuk membuatnya seperti bahasa khusus domain.
Jika Anda telah memprogram untuk waktu yang lama, Anda mungkin akan merasa "gatal" untuk menambahkan tanda kurung, dan dalam banyak kasus ada alasan bagus untuk ini.
Kode ini lebih mudah dilihat meskipun menurut saya, dan saya belum mengalami masalah - jika Anda akan membutuhkan tanda kurung, Anda akan mengetahuinya sebelumnya sebelum Anda harus menjalankan skrip debugging.
if owner.is_a? thing //worked fine
if owner.is_a? thing && x > 1 //not fine
saya baru belajar ruby selama beberapa minggu sekarang dan di mana saya bekerja menggunakan jumlah karakter sekecil mungkin dan jika Anda berasal dari bahasa lain, ada pembelajaran kurva untuk mengetahui saat Anda mengirimkan hash yang implisit, serangkaian simbol, meneruskan ke simbol ke suatu fungsi ... saya bukan penggemar.
if owner.is_a? thing and x > 1
and
tidak memiliki prioritas operator yang sama yang &&
memiliki