if unit2 summary

9
eleks.com eleks.com Unit 2 Summary

Upload: eleksdev

Post on 10-Feb-2017

1.642 views

Category:

Technology


0 download

TRANSCRIPT

eleks.com eleks.com

Unit 2 Summary

Job placement criteria: Evaluate students code• Project code convention;

• Follows best practices in code writing;

• Follows OOD principles (SOLID, design patterns, IoC

Container);

• Able to resolve issues in the most optimal and logical way;

Job placement criteria: Evaluate students attitude and responsibilities• Using tools by established rules (git, trello, IDE);

• Timely homework/tasks execution;

• lectures attendance;

• activity on the lectures (participate in discussions, respond to the

lecturer’s questions, asks questions etc.);

• Teamwork (shares information with team members, performs

assigned duties, participate in proj discussions, avoids conflicts etc.);

Job placement criteria: Evaluate course projects• Code Quality;

• Solution structure and architecture;

• Compliance with original requirements;

• Able to resolve issues in the most optimal and logical way;

• Extra features;

Project requirementsGeneral- Парсер повідомлення перед відправкою. Коли користувач відправляє повідомлення з

певними командами – ця команда повинна бути оброблена на сервері і змінене повідомлення повинне прийти іншому користувачу. Оригінальне і нова повідомлення повинне бути збережене. Нове – показане користувачу.

Architecture- Apply Inversion of Control container.- Implement MVP\MVC.- General project architecture + refactoring. Separate logic by layers, etc.- Separate DAL

Documentation- Architecture diagrams- XML documentation to public methods

Testing- Cover calculation logic with unit tests. (Coverage more than 30%)

Message ParserПідтримка URL- Якщо повідомлення містить url – програма повинна зробити запит за адресою, отримати

header сторінки і замісnь url в оригінальному повідомленні вставити <a href=“url”>Caption</a>

Підтримка Email- Якщо повідомлення містить email адресу – програма повинна поміняти адресу на тег <a

href=“mailto:emailAddress”>emailAddress</a>

Підтримка математичних операцій- Якщо повідомлення містить =math(<operation>) – повинна порахувати вираз в дужках і

вставити його замість вхідного тексту. Приклад =math(2+2*2) повинно бути ставлено число 6.

BotРеалізувати бот-користувача який буде автоматично відповідати на повідомлення.Підтримуванні команди:

v 1.0Help – повертається повідомлення зі списком доступних команд=math() – повертається повідомлення з результатом операції=parse(url\email) - повертається повідомлення у форматі який буде бачити користувач отримувач.

Якщо писати будь який інший текст боту – він повинен відповідати, що ‘не знає як правильно відповісти’

Bot 2.0• Якщо користувач пише повідомлення якого не знає бот – бот повинен відповідати будь яку

випадкову фразу. (список фраз має міститись в конфігураційному файлі)

• Якщо користувач пише просто математичний вираз без команди =math() – цей вираз повинен бути опрацьований і число має бути показане.

• Підтримка команди What is …Якщо користувач присилає повідомлення боту What is c# delegates - ‘бот’ повинен надіслати в google\wiki повідомлення з тестом ‘C# Delegates’ для пошуку і за знайдемим посиланням вичитати інформацію. Повернути користувачеві перших 2 абзаци тексту і знизу посилання на джерело. (можливо повернути певну кількість обмежених символів, або просто перші 2 речення)

• Кешувати відповіді по What is.. – якщо відповідь уже є в кеші, то не робити запити в інтернет, а результат повертати з кешу.

eleks.com

Inspired by Technology.Driven by Value.