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