Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
31-35.doc
Скачиваний:
24
Добавлен:
26.09.2019
Размер:
61.95 Кб
Скачать
  1. Кодирование. Стандарты на кодирование. Кодирование и проектирование.

Коди́рование — процесс написания программного кода, скриптов, с целью реализации определённого алгоритма на определённом языке программирования.

Некоторые путают такие понятия, как программирование и непосредственно кодирование. Кодирование является лишь частью программирования, наряду с анализом, проектированием, компиляцией, тестированием и отладкой, сопровождением.

В узких кругах кодирование также может называться «кодинг». Однако в литературе этот термин используется редко.

Станда́рт оформле́ния ко́да (станда́рт коди́рования, стиль программирования) — набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования. Наличие общего стиля программирования облегчает понимание и поддержание исходного кода, написанного больше чем одним программистом, а также облегчает сотрудничество нескольких человек в развитии одного программного обеспечения.

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

Образцом для стандарта кодирования может стать набор соглашений, принятых в какой-либо распространённой печатной работе по языку (например, стандарт кодирования на языке Си, получивший сокращённое наименование K&R, происходит из классического описания Си его авторами — Кернинганом и Ричи), широко применяемая библиотека или API (так, на распространение венгерской нотации явно повлияло её использование в MS-DOS и Windows API, а большинство стандартов кодирования для Delphi используют, в той или иной мере, манеру кодирования библиотеки VCL). Реже разработчик языка выпускает подробные рекомендации по кодированию на нём; выпущены, например, стандарты кодирования на C# от Microsoft и на Java от Sun. Предложенная разработчиком или принятая в общеизвестных источниках манера кодирования в большей или меньшей степени дополняется и уточняется в корпоративных стандартах.

Проектирование программного обеспечения — процесс создания проекта программного обеспечения (ПО), а также дисциплина, изучающая методы проектирования.

Целью проектирования является определение внутренних свойств системы и детализации её внешних (видимых) свойств на основе выданных заказчиком требований к ПО (исходные условия задачи). Эти требования подвергаются анализу.

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

Модель предметной области накладывает ограничения на бизнес-логику и структуры данных.

  1. Рефакторинг. Цели. Описание рефакторингов. Примеры.

Рефакторинг — это процесс такого изменения программной системы, при котором не меняется внешнее поведение кода, но улучшается его внутренняя структура.

В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и четкости.

Цель рефакторинга — сделать код программы легче для понимания; без этого рефакторинг нельзя считать успешным.

Рефакторинг следует отличать от оптимизации производительности. Как и рефакторинг, оптимизация обычно не изменяет поведение программы, а только ускоряет её работу. Но оптимизация часто затрудняет понимание кода, что противоположно рефакторингу.

С другой стороны, нужно отличать рефакторинг от реинжиниринга, который осуществляется для расширения функциональности программного обеспечения. Как правило, крупные рефакторинги предваряют реинжиниринг.

Рефакторинг нужно применять постоянно при разработке кода. Основными стимулами его проведения являются следующие задачи:

  1. необходимо добавить новую функцию, которая недостаточно укладывается в принятое архитектурное решение;

  2. необходимо исправить ошибку, причины возникновения которой сразу не ясны;

  3. преодоление трудностей в командной разработке, которые обусловлены сложной логикой программы.

В экстремальном программировании рефакторинг является неотъемлемой частью создания продукта.

Правила рефакторинга обычно систематизируют в виде каталога: название, краткая сводка ситуации, краткая сводка результата, мотивировка, техника, примеры.

Рефакторинг сильно зависит от методологии разработки и языка программирования. В книге Фаулера рассматривается разработка через тестирование и язык Java.

Пример:

«Встраивание метода» - тело метода столь же понятно, как и его название.Поместите тело метода в код, который его вызывает и удалите метод.

Позволяет избавиться от излишней косвенности.

Техника:

  • убедиться, что метод не является полиморфным

  • найти все вызовы метода, заменить каждый телом

  • откомпилировать и протестировать

  • удалить объявление метода

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]