Файл: Лекции на специальности спо базовой подготовки 09. 02. 07 Информационные системы и программирование Ульяновск.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.05.2024

Просмотров: 136

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Оформление кода

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

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

Иными словами, смысл кода должен быть виден из самого кода, без необходимости изучать контекст. Поэтому стандарт кодирования обычно строится так, чтобы за счёт определённого визуального оформления элементов программы повысить информативность кода для человека.

Обычно, стандарт оформления кода описывает:

  • способы выбора названий и используемый регистр символов для имён переменных и других идентификаторов:

  • запись типа переменной в её идентификаторе (венгерская нотация) и

  • регистр символов (нижний, верхний, «верблюжий», «верблюжий» с малой буквы), использование знаков подчёркивания для разделения слов;

  • стиль отступов при оформлении логических блоков — используются ли символы табуляции, ширина отступа;

  • способ расстановки скобок, ограничивающих логические блоки;

  • использование пробелов при оформлении логических и арифметических выражений;

  • стиль комментариев и использование документирующих комментариев.

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

Реинжиниринг

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

Реинжиниринг включает в себя следующие виды работ:

  • анализ исходного ПО;

  • изучение и анализ исходного кода (если применимо);

  • анализ слабых мест исходного ПО;

  • исследование возможностей исходного ПО и подробное их документирование

  • восстановление архитектуры исходного ПО;

  • анализ рисков и выработка шагов к их нейтрализации;

  • составление технического задания на новое ПО;

  • трансформация восстановленной архитектуры к желаемой новой архитектуре;

  • тестирование нового ПО;

  • установка и настройка нового ПО;

  • конвертация накопленных данных на новое ПО;

  • документирование новой системы;

  • обучение персонала (если необходимо).

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

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

  • Необходимость разбора чужого исходного кода. Такую задачу не может сделать программист низкой и средней квалификации. Даже профессионалы часто не могут качественно реализовать его. Поэтому требуется работа специалистов с большим опытом и знанием различных технологий.

  • Необходимость расширения границ существующего функционала, но при этом обязательная совместимость с предыдущими версиями.

  • Риски изменения функционала «в живую» – на работающем предприятии, в режиме реального времени.

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


Анализ интерфейса

Графический интерфейс пользователя (Graphical user interface, GUI) –разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений. Проверяется в целом общий вид приложения и в отдельности формы, расположенные на странице.

Общие проверки:

• Вид элементов при уменьшении окна браузера + появление скрола

• Правильность написания текста + текст должен быть выровнен

• Правильность перемещения фокуса в окне (Tab / Tab+Shift)

• Выбранные элементы выделяются

• Неизменяемые поля выглядят одинаково и отличаются от редактируемых

• Желательно не использовать двойной клик

• Проверка наличия нужных нотификейшенов

• Унификация дизайна (цвет, шрифт, размер)

• При необходимости должны быть тултипы

• Изменение вида элемента при ховере на него

• Если формы дублируются, то должны быть одинаковые названия

• Дополнительные проверки для веб-форм

Основные моменты при проверке GUI:

• расположение, размер, цвет, ширина, длина элементов; возможность ввода букв или цифр

• реализуется ли функционал приложения с помощью графических элементов

• размещение всех сообщений об ошибках, уведомленией (а также шрифт, цвет, размер, расположение и орфография текста)

• читабелен ли использованный шрифт

• переходит ли курсор из текстового в поинтер при наведении на активные элементы, выделяются ли выбранные элементы

• выравнивание текста и форм

• качество изображений

• проверить расположение и отображение всех элементов при различных разрешениях экрана, а также при изменении размера окна браузера (проверить, появляется ли скролл)

• проверить текст на орфографические, пунктуационные ошибки

• появляются ли тултипы (если есть необходимость)

• унификация дизайна (цвета, шрифты, текст сообщений, названия кнопок и т.д.)

Наиболее распространенные баги:

• курсор не переходит в поинтер при наведении на активный элемент

• орфографические и грамматические ошибки

• не ровное расположение полей ввода в формах, самих форм

• неправильное отображение элементов при смене размера окна браузера и масштаба страницы

• изменение размера текста при смене языка


• неровное расположение форм

• разные шрифты

• выбранные элементы не отличаются от не выбранных
Список использованных источников


  1. Орлов С.А., Цилькер Б.Я. Технологии разработки программного обеспечения: Учебник для вузов./С.А.Орлов, Б.Я.Цилькер- 4-е изд. Стандарт третьего поколения. – СПб.: Питер, 2018 – 608 с.

  2. Златопольский Д.М. Основы программирования на языке Python./Д.М.Златопольский – М.: ДМК Пресс, 2017. – 284 с.

  3. Гэддис Т. Начинаем программировать на Python. /Т.Геддис – 4-е изд.: Пер. с англ. – СПб.: БХВ-Петербург, 2019. – 768 с.

  4. Лучано Рамальо Python. К вершинам мастерства./Л.Ромальо – М.: ДМК Пресс, 2016. – 768 с.

  5. Свейгарт, Эл. Автоматизация рутиных задач с помощью Python: практическое руководство для начинающих./Эл.Цвейгарт- Пер. с англ. — М.: Вильямc, 2016. – 592 с.

  6. Рейтц К., Шлюссер Т. Автостопом по Python. /К.Рейтц, Т.Шлюссер – СПб.: Питер, 2017. – 336 с.: ил. – (Серия «Бестселлеры O’Reilly»).

  7. Любанович Билл Простой Python. Современный стиль программирования. /Б.Лобанович– СПб.: Питер, 2016. – 480 с.: – (Серия «Бестсепперы O’Reilly»).

  8. Павловская Т.А. С#. Программирование на языке высокого уровня. /Т.А.Павловская-СПб.: Питер, 2014

  9. Федоров, Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для прикладного бакалавриата / Д. Ю. Федоров. – 2-е изд., перераб. и доп. – Москва : Издательство Юрайт, 2019. – 161 с. – (Бакалавр. Прикладной курс). – ISBN 978-5-534-10971-9. – Текст: электронный // ЭБС Юрайт [сайт]. – URL: https://urait.ru/bcode/437489 (дата обращения: 13.02.2020).

  10. Шелудько, В. М. Основы программирования на языке высокого уровня Python: учебное пособие / В. М. Шелудько. – Ростов-на-Дону, Таганрог: Издательство Южного федерального университета, 2017. – 146 c. – ISBN 978-5-9275-2649-9. – Текст: электронный // Электронно-библиотечная система IPR BOOKS: [сайт]. – URL: http://www.iprbookshop.ru/87461.html (дата обращения: 13.02.2020). – Режим доступа: для авторизир. пользователей