Modern C++ Design Generic programming and Design P

2020-05-20 07:00发布

I have purchase this book for our group in the company, perhaps, to improve our design skills and ultimately have a better programming practices. As I read it, I find, mostly, a set of nifty tricks that can be used with template, and not sure if it is worthwhile - and not detrimental-to incorporate it into our code thus introducing code complexity/readability and un-maintainability.

I would like to find out from follow practitioners, what do you use from that book? What is relevant and important to professional software development, what should be avoided?

General thought about this book and how it fits into software development of large-scale system (on the same them, I love John Lakos book)?

What is the Alexandrescu effect?

8条回答
小情绪 Triste *
2楼-- · 2020-05-20 07:41

I did experience some rude reactions from people when I stated using stuff from Modern C++ design. First, WTF comments. This was followed by 'don't try to be too smart' comments. Then, a better understanding of the ideas. And then, finally, acceptance of the ideas to the point where they are a part of the common vocabulary.

Make sure to keep multiple copies of this book handy. Ideally, buy a copy for every developer. Also, until this stuff becomes common vocabulary among the developers, cite the pattern/idiom and the relevant pages in your comments.

查看更多
做个烂人
3楼-- · 2020-05-20 07:42

I haven't use Loki but I've actively used boost on my previous work. Boost has implemented many ideas from this nice book;

Things from this book are not intended for use in Business Logic, they should be implemented in libraries (Boost, Loki, something of your own) and libraries used in Business Logic. This is a different thing "using this tricks in code" or "implement separated library with using this trick and using beautiful libraries in most of your code (for example boost::bind - ugly implementation but nice in usage - but you almost never see this implementation)"

Also this book demonstrates powerful c++ meta-programming and good training for brain.

查看更多
登录 后发表回答