Особенности разработки сложных программных систем
Главные отличия небольших проектов
Инструменты разработки
Архитектура приложения
Паттерны проектирования
Принципы разработки
Code Style
582.48K
Категория: ПрограммированиеПрограммирование

Особенности разработки сложных программных систем

1. Особенности разработки сложных программных систем

2.

К О Н С ТА Н Т И Н К О С Т Р И Ц К И Й
.Net Developer
• Прошел .Net курс тренинг центра
ЕПАМ
• Работаю в компании Епам 4.5 года.
• Был разработчиком на проектах
Касперского, Билайн, РосГосСтрах
2

3. Главные отличия небольших проектов

• Отсутствие четкой структуры процесса разработки
• Отсутствие документации
• Отсутствие строгих сроков этапов разработки
• Отсутствие peer review
• Нечеткие роли людей в команде
• Отсутствие требований к CodeStyle

4. Инструменты разработки

• Системы управления версиями (Git, SVN, Mercurial)
• Системы отслеживания ошибок (Jira, TFS, Trello)
• Системы непрерывной интеграции (TeamCity, Bamboo, Jenkins)

5. Архитектура приложения

5

6. Паттерны проектирования

«uses»
• Порождающие
• Abstract factory
AbstractFactory
Controller
+CreateProductA()
+CreateProductB()
«uses»
«uses»
AbstractProductA
• Структурные
• Adapter
• Façade
ConcreteFactory1
ConcreteFactory2
+CreateProductA()
+CreateProductB()
+CreateProductA()
+CreateProductB()
ConcreteProductA1
ConcreteProductA2
«uses»
«uses»
AbstractProductB
• Поведенческие
• Strategy
ConcreteProductB1
ConcreteProductB2
6

7. Принципы разработки

• KISS (Keep it short and simple)
• YAGNI (You aren't gonna need it)
• DRY (Don’t repeat yourself)
• SOLID
7

8. Code Style

8
English     Русский Правила