C++ дайджест #8: Qt та Unit tests

Привіт, мої любі сішники! Цього разу продовжимо підвищувати нашу кваліфікацію з Qt, розглянємо фреймворки та бібліотеки для Unit tests та, як завжди, декілька статей про нові стандарти З++ та улюблені інструменти для розробки. Починаємо? :)

Qt

Qt based multithreading requester
У цій статті описано створення системи запит-відповідь на основі сигналів та слотів Qt у різних потоках. А самі лямди в Qt для слотів розглядаються тут .

Thread Delegation in Qt
Автор пропонує спрощення в один рядок для передачі QObject в інший потік. Продовження статті .

What the Heck is Qt Quick's Model View Architecture
Гарний огляд Model View здебільшого на основі аналогій з WPF.

Детальний опис QML Engine в серіії від KDAB: частина 1 , частина 2 , частина 3 , частина 4 .

Пояснюється робота з макросом QStringLiteral:

Creating Custom Widgets
Корисний с?еск-list того, що ми можемо зробити, створюючи Custom Widgets .

Qt on Microcontrollers
Розглядається можливість використання Qt на мікроконтролерах.

Unit tests

Окрім офіційної документації про Unit-тести в Qt (QTest) можна почитати класний цикл статей: про Unit-тести З++ коду (частина 1 , частина 2 ) та про UI (частина 1 , частина 2 ).

Улюблена корпорація зла Google якось створила фреймворк для написання unit tests Google Test (Gtest) , який невдовзі ставши дуже популярними та був успішно інтегрований у багато open source проектів. Фреймворк має гарну документацію на GitHub .

Окрім неї, можна ознайомитися з детальною статтею від IBM . Microsoft також не забуває піклуватися про нас, тому створила статтю, в якій описує інтеграцію QTest в VS . Але якщо є бажання інтегрувати ручками, то вам сюди :) Для зручного використання GTest під xCode можна користуватися СocoaPods .

Чудовим інструментом є Boost.Test . Про інтеграцію в VS можна почитати на msdn , а про використання в офіційній документації чи, наприклад, у цій статті .

Гарний туторіал про СTest можна знайте тут .

Modern C++

Використання параллельних алгоритмів для підвищення ефективності

SFINAE в C++11

Корисні посилання

Про створення hash функцій

Microsoft Cognitive Services C++ SDK

Стаття про математику порівнянь

mapping текстур в Qt 3D Studio

Оновлення

ReSharper C++ 2018.2

Qt 5.11.2 , Qt Creator 4.7.1 , Qt 3D Studio 2.1

Xcode 10.1 beta 2 , macOS Mojave 10.14.1 beta 2 , iOS 12.1 beta 2

Оновлення Visual Studio 2017 version 15.8.4 — 15.8.6

Оновлення Redstone 5 для Windows 10

Цікавенькі книги

Modern C++ Programming with Test-Driven Development від Jeff Langr

Для новачків

Що таке Unit tests

Безкоштовний C++ курс (деталі тут )

Хвилиночка флуду

Презентація «42 silly ways to say „Hello“ in modern C++»
Як щодо гри в «Змійку»? Matt Bierner захопився метапрограмуванням, що створив «Змійку» , в яку потрібно грати за допомогою перекомпіляції коду :)


? Попередній випуск: C++ дайджест #7

Опубліковано: 05/10/18 @ 10:00
Розділ Різне

Рекомендуємо:

DOU Labs: як в EPAM створили Delivery Platform – акселератор для старту проектів
Финстрип за Вересень 2018. 83К
DOU Books: 5 книжок для тих, хто не боїться жити, від Василя Ульянова, співзасновник Genesis
DOU Проектор: Software Riot — гра-платформер про програміста, що рятує офіс від комп'ютерного вірусу
Більше 1К лідов за перший місяць для сайту з навчання в Польщі