Boost logo

Boost :

From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2019-11-23 15:42:56


On Sat, 23 Nov 2019 at 16:17, Krzysztof Jusiak via Boost
<boost_at_[hidden]> wrote:
>
> > So again what is the benefit of standardization?
>
> IMHO, there is always a benefit of standardization best/common
> practices because

Good, then the documentation, in the motivation section, could/should answer:
   What are the best practices the UT captures?
in comparison to popular existing frameworks,
which do not necessarily use the best practices.

My take on the main points listed in the
https://github.com/boost-experimental/ut/blob/master/README.md#overview,

- no dependencies - it's a convenience, not best practice

- single header - header-only libraries are sometimes it is a convenience,
  sometimes a necessity, sometimes a matter of personal preference or choice,
  but header-only is not a best practice.

- macro-free - generally, this is best practice; specifically, it
depends. As Vinnie
  pointed out, macros (polluting global namespace) in test frameworks are not
  a troublemaker, so in case of UT this is a weak argument.

- easy to use - yes, this is a universal best practice.

- minimal API - well, most test framework I've seen or used allow users
  to get the job done using 2-3 macros e.g. using Catch2 you need to
learn just two.
  2-5 macros is minimal API.

- fast to compile - Can this be called a best practice? Well, it
certainly is a nirvana to aim for
  but in real case, it depends. Boost.MP11 compiles faster than Boost.MPL
  but some projects have no choice than to use MPL.

If the UT aims for an ideal of standardization proposable library,
then it (documentation) needs to make the best practices more vivid.

I do like your library. It is a very interesting experiment, a very good
piece of code to read and learn from about C++20 features.

Best regards,

-- 
Mateusz Loskot, http://mateusz.loskot.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk