Pharo-Top-Team

Description

Завжди на вершині ієрархії класів. Фаро топ!

Details

Source
GitHub
Dialect
pharo (25% confidence)
Created
Oct. 13, 2026
Updated
Oct. 14, 2026

README excerpt

# Команда "Pharo Top Team"
**Гасло:** Завжди на вершині ієрархії класів. Фаро топ!

##  Опис завдання (Варіант № 1)
Спроектуйте класи, вказані нижче. У кожному з них визначте метод виведення в потік, методи порівняння, виконання арифметичних дій. Оголошення цих класів розташуйте у окремому пакеті. Інформацію про екземпляри класів задайте в Playground, прочитайте з клавіатури або з файлу. Функціонал класів перевірте за допомогою модульних тестів.

1. **Сутність «працівник»** характеризується такими даними: прізвище, стаж, оплата за годину та мінімальна кількість годин, які він має відпрацювати за тиждень.
   * **Працівник-програміст** додатково пам’ятає кількість насправді відпрацьованих годин. Його зарплата зменшується на 25%, якщо відпрацьовано менше за норму.
   * **Працівник-керівник** працює 40 годин на тиждень, має певну кількість підлеглих, отримує 1% надбавки за кожного з них.
   Оголосіть класи, що моделюють описані сутності. Екземпляри цих класів вміють повідомляти прізвище, стаж, зарплату за тиждень. Порівнюють працівників за величиною заробітної плати.
2. Створіть п’ять різних працівників та занесіть їх у контейнер. Забезпечте можливість вводити в режимі діалогу інформацію про нового працівника і долучати його до колекції інших. Надрукуйте всі елементи контейнера. Знайдіть найоплачуванішого працівника. Чи це програміст? Продемонструйте використання арифметичних операторів. Створіть дві нові колекції, що містять окремо керівників, і окремо програмістів.
3. Продемонструйте зберігання створених об’єктів до файлу (до різних файлів у різних форматах), до бази даних (наявність бази можна імітувати в пам’яті) та завантаження їх з файлу, з бази.

---

##  Розподіл обов'язків у команді

**1.Марія Нідзельська**
*Відповідає за архітектурний фундамент та налаштування.*
* Створення та налаштування GitHub-репозиторію.
* Створення базового пакета команди та класу `Worker`.
* Реалізація базового розрахунку зарплати, геттерів/сеттерів.
* Реалізація методів виведення в потік (`printOn:`), операторів порівняння (`<`, `>`, `=`) та арифметичних дій.
* Написання модульних тестів для базового класу (`WorkerTest`).
* Ведення документації (README, координація гілок).

**2.Вікторія Огороднік*
*Відповідає за класи-спадкоємці та роботу з колекціями.*
* Створення класів `Programmer` та `Manager` (успадкування від `Worker`).
* Реалізація специфічної логіки розрахунку зарплати (штрафи для програмістів, бонуси для менеджерів).
* Написання модульних тестів `ProgrammerTest` та `ManagerTest`.
* Розробка методів для пошуку найоплачуванішого працівника та створення нових відфільтрованих колекцій.

**3.Роман Магдич**
*Відповідає за взаємодію з користувачем та файлову систему.*
* Створення класу `WorkerPlayground` для демонстрації роботи.
* Реалізація інтерактивного вводу даних про нових працівників у режимі діалогу (через UI-засоби Pharo).
* Реалізація збереження колекції працівників у файл (наприклад, у форматі STON) та завантаження з файлу.
* Імітація роботи з базою даних у пам'яті.
* Зведення всього коду разом у вигляді методів-прикладів для фінальної здачі.

---
## Журнал робочого процесу 
*13.10.2026 - Ініціалізація проєкту та налаштування зв'язку Pharo з GitHub через Iceberg.
13.10.2026 -Застосування стратегії гілкування: розробка архітектурного фундаменту (клас Worker, змінні, геттери/сеттери, розрахунок зарплати, метод printOn: та методи порівняння) виконувалася у спеціальній гілці feature/worker-class з подальшим створенням Pull Request для командного рев'ю.
← Back to results