- •Реферат: Основы написания хорошего кода
- •2011. Основы написания хорошего кода Введение
- •Предварительные условия
- •Предварительные условия, связанные с определением проблемы
- •Метафоры и алгоритмы
- •Предварительные условия, связанные с выработкой требований
- •Конструирование
- •Выбор языка программирования
- •Конвенции программирования
- •Работа в группе
- •Гарантия качества
- •Разработка архитектуры
- •Организация программы: описание системы
- •Избыточная функциональность
- •Купить или создавать самим?
- •Проектирование по
- •1. Существенные и несущественные проблемы.
- •2. Сложность
- •Простота сопровождения
- •Содержание
Федеральное агентство по образованию Российской Федерации
Государственное образовательное учреждение
Высшего профессионального образования
«Ивановский государственный энергетический университет
имени В.И. Ленина ».
Кафедра программного обеспечения компьютерных систем.
Реферат: Основы написания хорошего кода
Отчет по введению в специальность
Выполнил: студент гр. 1- 41 …
Дубровина Е.С. Ф.И.О.
Проверил: д.т.н., профессор_____
Косяков С.В. Ф.И.О.
Иваново
2011. Основы написания хорошего кода Введение
Разработка ПО — непростой процесс, который может включать множество компонентов. Вот какие составляющие разработки ПО определили ученые за последние 25 лет:
- определение проблемы;
- выработка требований;
- создание плана конструирования;
- разработка архитектуры ПО, или высокоуровневое проектирование;
- детальное проектирование;
- кодирование и отладка;
- блочное тестирование;
- интеграционное тестирование;
- интеграция;
- тестирование системы;
- корректирующее сопровождение.
Рассмотрим некоторые из этих этапов.
Предварительные условия
Рассмотрим компоненты подготовки к конструированию ПО. Как и в строительстве, конечный успех программного проекта во многом определяется до начала конструирования. Если фундамент ненадежен или планирование выполнено небрежно, на этапе конструирования вы в лучшем случае сможете только свести вред к минимуму.
Подготовка к проекту - одно из главных условий эффективного программирования, и это логично. С управленческой точки зрения, планирование подразумевает определение сроков, числа людей и компьютеров, необходимых для выполнения работ. С технической - планирование подразумевает получение представления о создаваемой системе, позволяющего не истратить деньги на создание неверной системы.
Определите тип ПО, над которым вы работаете.
- Встроенные системы, от которых зависит жизнь людей;
- Бизнес-системы;
- Системы целевого назначения;
При разработке бизнес-систем предпочтительно использовать высокоитеративные подходы, при которых планирование, выработка требований и проектирование архитектуры перемежаются с конструированием, тестированием системы и гарантией качества. Системы, от которых зависит жизнь людей, требуют более последовательных подходов, поскольку стабильность требований — одно из условий высочайшей надежности системы.
Вы можете выбрать более последовательный подход (при котором вопросы решаются заблаговременно), если:
- требования довольно стабильны;
- проект приложения прост и относительно понятен;
- группа разработчиков знакома с прикладной областью;
- проект не связан с особым риском;
- важна долговременная предсказуемость проекта;
- затраты на изменение требований, проекта приложения и кода скорее всего окажутся высокими.
Более итеративный подход (при котором вопросы решаются по мере работы) можно предпочесть, если:
- требования относительно непонятны или вам кажется, что они могут оказаться нестабильными по другим причинам;
- проект приложения сложен, не совсем ясен или и то и другое;
- группа разработчиков незнакома с прикладной областью;
- проект сопряжен с высоким риском;
- долговременная предсказуемость проекта не играет особой роли;
- затраты на изменение требований, проекта приложения и кода скорее всего будут низкими.
Как бы то ни было, итеративные подходы эффективны гораздо чаще, чем последовательные. Вы можете адаптировать предварительные условия к своему конкретному проекту, как считаете нужным, сделав их более или менее формальными или полными.