Khi có thể .. bạn có để lại dấu ngoặc đơn trong hoặc ngoài trong Ruby không?Bạn có để lại dấu ngoặc đơn trong hoặc ngoài trong Ruby không?
Trả lời
Tôi đoán tôi làm cả hai, nhưng tôi chắc chắn giữ chúng trong nếu nó thêm vào khả năng đọc và tránh các câu lệnh trông mơ hồ.
Tùy theo điều nào dễ đọc hơn.
Nhưng tôi luôn luôn sử dụng dấu ngoặc đơn khi tôi chức năng làm tổ gọi bên trong tham số những người khác
Nếu bạn có ý nghĩa trong các cuộc gọi chức năng, tôi luôn đặt dấu ngoặc đơn bởi vì nó luôn luôn dễ đọc hơn. Nếu bạn có ý nghĩa trong điều kiện (nếu, trong khi) tôi chỉ đặt dấu ngoặc đơn khi cần thiết.
Tôi cố gắng loại bỏ chúng, nếu có thể. Tôi nghĩ rằng nó làm cho mã dễ đọc hơn (nói chung).
Tôi bỏ chúng ra khi tôi đang làm công cụ DSL-ish, như t.column hoặc has_many trong đường ray. Phần còn lại của thời gian, nó thường đi xuống để rõ ràng, và nó có thể là một phân chia thậm chí.
của Ruby cho phép bạn bỏ qua ngoặc, nói chung, chống lại sự cám dỗ này.
Dấu ngoặc đơn làm cho mã dễ dàng hơn để theo dõi. Chung của Ruby phong cách là sử dụng họ, ngoại trừ trong các trường hợp sau đây:
- Luôn luôn bỏ qua dấu ngoặc rỗng
- Các dấu ngoặc đơn có thể được gạt ra khỏi một lệnh duy nhất được bao quanh bởi ERb delimiters - các ERb điểm đánh dấu làm cho chắc chắn mã vẫn có thể đọc được
- Một dòng là một lệnh duy nhất và một đối số đơn lẻ có thể là được viết mà không có dấu ngoặc đơn. Cá nhân, tôi thấy rằng tôi làm điều này ít hơn và ít hơn, nhưng nó vẫn hoàn toàn có thể đọc được. Tôi có xu hướng không thích các dòng đơn lẻ trong mã ruby thông thường có nhiều đối số và không có dấu ngoặc đơn.
- Rất nhiều ngôn ngữ cụ thể dựa trên Ruby (chẳng hạn như Rake) không sử dụng dấu ngoặc đơn để giữ nguyên cảm giác tự nhiên của ngôn ngữ .
Tôi có xu hướng bỏ chúng ra khi thực hiện các xác nhận như assert_equal. Có lẽ nó là để làm cho nó giống như ngôn ngữ cụ thể giống như ngôn ngữ.
tôi sử dụng dấu ngoặc như ý kiến để giúp tương lai tôi ... người có khả năng có các tế bào não ít hơn so với hiện tại tôi :-)
Không có gì tồi tệ hơn nhìn vào một số mã bạn đã viết 2 năm trước đây và sự hiểu lầm nó, để bạn phá vỡ một cái gì đó trong khi sửa đổi nó.
Nếu parens sẽ tiết kiệm cho tôi trong tương lai một vài phút (hoặc giờ) trong tương lai, tôi sẽ đưa vào càng nhiều càng tốt để làm cho tuyên bố tinh thể rõ ràng.
- John
+1 "Tôi sử dụng parens làm ý kiến để giúp tôi trong tương lai ... những người có khả năng có ít tế bào não hơn so với hiện tại tôi :-)" Đó là SO đúng, và chính xác lý do tại sao tôi làm điều đó. Nó cũng là để thương xót cho bất cứ ai theo tôi, những người đã sử dụng mã của tôi. Trong ngắn hạn, đó là một điều bảo trì. –
Nếu bạn đã được lập trình trong một thời gian dài, có thể bạn sẽ có một "ngứa" để thêm dấu ngoặc đơn, và trong nhiều trường hợp có lý do chính đáng cho việc này.
Mã dễ hơn trên đôi mắt mặc dù theo ý kiến của tôi và tôi chưa gặp sự cố - nếu bạn cần dấu ngoặc đơn, bạn sẽ biết trước khi bạn phải chạy vào gỡ lỗi script.
"Giáo viên của tôi nói với tôi rằng điều đó là không thể tránh khỏi". Đó là, và có thể khó để gỡ lỗi. Tôi khuyên bạn nên sử dụng chúng để tránh việc gán tham số mơ hồ. –
Downvoted là "dễ dàng hơn trên mắt" là IMO một lý do tệ hại để bỏ ra dấu ngoặc đơn xung quanh đối số chức năng. –
nói với đám đông không parens tôi gặp phải vấn đề này vào ngày khác 'if owner.is_a? điều // làm việc tốt ' 'nếu owner.is_a? && x> 1 // không tốt Tôi mới chỉ học ruby được vài tuần và nơi tôi làm việc sử dụng số ký tự nhỏ nhất có thể và nếu bạn đến từ bất kỳ ngôn ngữ nào khác, có một đường cong học tập cần biết khi bạn truyền một hàm băm implictiy, một mảng các ký hiệu, chuyển đến các ký hiệu đến một hàm ... tôi không phải là một người hâm mộ. –
- 1. Chọn văn bản bên trong dấu ngoặc đơn từ bên ngoài dấu ngoặc đơn trong Vim
- 2. Xóa văn bản trong dấu ngoặc đơn (dấu ngoặc đơn trong dấu ngoặc đơn)
- 3. Lớp khởi tạo có hoặc không có dấu ngoặc đơn?
- 4. Emacs ruby-mode, thụt vào bên trong dấu ngoặc đơn?
- 5. Di chuyển một cặp ngoặc đơn, dấu ngoặc, hoặc niềng răng trong Vim
- 6. Có thể tự động hoàn thành dấu ngoặc đơn hoặc dấu ngoặc kép trong các emac không?
- 7. Dấu ngoặc đơn có hợp lệ trong một DOCTYPE không?
- 8. Ghép cặp dấu ngoặc nhọn, dấu ngoặc đơn và dấu ngoặc đơn
- 9. Ruby chuyển đổi dấu nháy đơn thành dấu ngoặc kép trong XML
- 10. cách ghi đè [] dấu ngoặc trong ruby?
- 11. Làm cách nào để tách dấu ngoặc đơn khỏi chuỗi trong Ruby?
- 12. Xóa các dấu ngoặc đơn trong json?
- 13. Cách nhảy vào dấu ngoặc đơn trong VIM
- 14. Đổi tên nhiều tệp mà không cần dấu ngoặc đơn/xóa dấu ngoặc đơn windows
- 15. Cách thoát dấu ngoặc đơn trong grep
- 16. Có ok để có dấu ngoặc trong URL không?
- 17. Tại sao cuộc gọi lambda Ruby 1.9 có thể không có dấu chấm ở trước dấu ngoặc đơn?
- 18. Scala: Bạn có thể sử dụng "foo match {bar}" trong một biểu thức không có dấu ngoặc đơn không?
- 19. Làm thế nào để bạn thoát khỏi dấu ngoặc đơn trong bộ chọn jQuery?
- 20. Dấu ngoặc đơn không phá vỡ?
- 21. Clojure in danh sách không có dấu ngoặc đơn?
- 22. Khởi tạo một lớp có hoặc không có dấu ngoặc đơn?
- 23. Làm cách nào để sử dụng string.tr để thay thế dấu nháy kép bằng dấu ngoặc đơn trong Ruby?
- 24. Khối - dấu ngoặc nhọn/không có dấu ngoặc nhọn?
- 25. Dấu ngoặc kép trong VBA
- 26. Bạn có thể tạo ra một chuỗi JavaScript mà không sử dụng "hoặc" dấu ngoặc kép?
- 27. Làm cách nào để in danh sách có số nguyên không có dấu ngoặc đơn, dấu phẩy và không có dấu ngoặc kép?
- 28. mảng được bọc trong dấu ngoặc đơn trong PHP (mảng)
- 29. PHP Nếu/Khác tuyên bố không có dấu ngoặc đơn
- 30. Tách chuỗi trong Ruby, bỏ qua nội dung của dấu ngoặc đơn?
Tôi đồng ý. Trong php ví dụ tôi có thể nhanh chóng phát hiện một var bằng tiền tố $ .. trong javascript tôi có thể tái lập một hàm bằng dấu ngoặc đơn(). Trong Ruby, sự khác biệt giữa một var hoặc func (không có dấu ngoặc đơn) không phải lúc nào cũng dễ thấy. –