Denisqu / stc_test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Тестовое задание СТЦ QT5.9.9, msvc2015, gcc7.4.0

Задача №1

Было реализовано многопоточное графическое приложение на основе QtWidgets. Приложение представляет из себя пример параллельного расчёта процедур с визульным графическим интерфейсом, позволяющим отслеживать прогресс расчёта.

В качестве примера трудоёмкой процедуры была взята сортировка пузырьком, которая имеет сложность O(n^2).

Основные классы:

  1. ProgrammLogic
  2. ComputeWorker
  3. MainWindow:

Сигнально-слотовые соединения между UI и логикой происходят в main();

Пример работы программы:

1

Задача №2

Было реализовано приложение, работающее как TCP сервер и отображающее информацию о текущих клиентах

Основные классы:

  1. TcpServer
  2. Client
  3. MainWindow

Сигнально-слотовые соединения между UI и логикой происходят в main();

Пример работы программы:

2

Что можно было бы улучшить:

  1. Не использовать QTableWidget, а сразу брать QTableView
  2. Использовать QtQuick вместе с MVC паттерном
  3. Добавить try-catch проверки, там где они могут понадобиться
  4. В задаче №1 создать абстрактный класс AbstractComputeWorker, от которого наследовались бы другие типы ComputeWorker'ов, чтобы в дальнейшем было легче модифицировать программу, расширяя её функционал.

About


Languages

Language:C++ 90.4%Language:QMake 9.6%