2008-10-15 33 views
35

Tôi đã xem cả hai Named Parameter IdiomBoost::Parameter library. Những lợi thế nào mỗi người có hơn khác? Có một lý do chính đáng nào để luôn chọn một cái khác hay có thể mỗi người trong số họ tốt hơn người kia trong một số trường hợp (và nếu có thì, tình huống nào)?C++ "Thành phần tham số được đặt tên" so với Boost :: Thư viện tham số

+1

Tôi không biết gì về cả hai. Chỉ cần đi mặc dù cả hai. Cảm ơn Geek –

+0

Không đủ cho câu trả lời: một mã sử dụng 'Boost :: Parameter' luôn nhúng một phép biến đổi không thể thực hiện được, +1 vào tham số có tên là – bobah

+1

Có thể thêm một liên kết vào trang" idiom parameter idiom "không? – xaxxon

Trả lời

20

Việc triển khai thành tố tham số được đặt tên thực sự dễ dàng, gần như dễ dàng như sử dụng Boost :: Parameter, do đó, nó có thể bị luồn xuống một điểm chính.

-Bạn đã tăng phụ thuộc chưa? Nếu không, thông số Boost :: không đủ đặc biệt để bổ sung thêm sự phụ thuộc.

Cá nhân tôi chưa bao giờ thấy Boost :: tham số trong mã sản xuất, 100% thời gian thực hiện tùy chỉnh các tham số có tên, nhưng đó không nhất thiết là một điều tốt.

+0

Cảm ơn. Tôi đã tăng phụ thuộc, nhưng tôi sẽ đi với các thông số được đặt tên thay thế. –

0

Không bao giờ nghe nói về một trong hai, nhưng xem xét các liên kết, tham số được đặt tên là WAY dễ dàng hơn và rõ ràng hơn để hiểu. Tôi muốn chọn nó trong một nhịp tim trong việc thực hiện tăng cường.

2

Thành ngữ tham số được đặt tên đơn giản hơn rất nhiều. Tôi không thể nhìn thấy (ngay bây giờ) tại sao chúng ta cần sự phức tạp của thư viện Boost :: Parameter. (Ngay cả các thông số "tính năng" được giả định, có vẻ như một cách để giới thiệu các lỗi mã hóa;))

15

Thông thường, tôi là một fan hâm mộ lớn của Boost, nhưng tôi sẽ không sử dụng thư viện Boost.Parameter cho cặp vợ chồng lý do:

  1. Nếu bạn không biết những gì đang xảy ra, cuộc gọi có vẻ như bạn đang gán một giá trị cho một biến trong phạm vi về chức năng gọi điện thoại trước khi thực hiện cuộc gọi. Điều đó có thể rất khó hiểu .
  2. Có quá nhiều mã soạn sẵn cần thiết để thiết lập nó ngay từ đầu.
+3

Bởi cùng một lý do này, chúng ta nên loại bỏ các mẫu từ C++ vì chúng phức tạp và khó hiểu. Nó được gọi là "học tập" – Raindog

+15

Mẫu thêm rất nhiều quyền lực cho ngôn ngữ. Tôi không nghĩ rằng bạn có thể nói như vậy về các thông số được đặt tên. Chỉ vì một cái gì đó phức tạp, không có nghĩa là nó hữu ích. – Ferruccio

2

Bạn có thể không muốn Boost.Parameter cho logic ứng dụng chung rất nhiều như bạn muốn nó cho mã thư viện mà bạn đang phát triển nơi nó có thể là một tiết kiệm thời gian cho khách hàng của thư viện.

9

Một điểm khác, trong khi tôi chưa bao giờ sử dụng thành phần tham số được đặt tên, tôi đã sử dụng thông số tăng cường để xác định tối đa 20 đối số tùy chọn. Và, thời gian biên dịch của tôi là điên rồ. Những gì được sử dụng để mất một vài giây, bây giờ mất 30 giây. Điều này sẽ tăng lên nếu bạn có một thư viện các công cụ sử dụng một ứng dụng nhỏ mà bạn đã viết bằng cách sử dụng tham số tăng cường. Tất nhiên, tôi có thể thực hiện nó sai, nhưng tôi hy vọng điều này thay đổi, bởi vì khác hơn thế, tôi thực sự thích nó.

Các vấn đề liên quan