Небольшие правки от Курочкина

This commit is contained in:
2025-04-10 11:50:38 +03:00
parent 4800f11a7e
commit 99caecf319

View File

@@ -520,9 +520,7 @@ if __name__ == "__main__":
структуры и поддерживаемости. Эти сообщения помогают улучшить архитектуру кода. структуры и поддерживаемости. Эти сообщения помогают улучшить архитектуру кода.
\item W (Warning): Предупреждения о потенциальных проблемах, которые могут \item W (Warning): Предупреждения о потенциальных проблемах, которые могут
привести к ошибкам или неожиданному поведению во время выполнения. Например, возможное использование необъявленной переменной. привести к ошибкам или неожиданному поведению во время выполнения. Например, возможное использование необъявленной переменной.
\item E (Error): Ошибки, которые скорее всего приведут к сбоям выполнения программы, такие как неправильное использование синтаксиса, отсутствие необходимых атрибутов или функций. \item E (Error): Ошибки, которые приведут к сбоям выполнения программы, такие как: синтаксические ошибки, вызов функций с неккоректным списком параметров или с неккоректными типами параметров.
\item F (Fatal): Критические ошибки, при обнаружении которых анализ кода прерывается. Обычно это ошибки синтаксиса или другие проблемы, которые делают
дальнейший анализ невозможным.
\end{itemize} \end{itemize}
\subsection{Разбор Pylint правил из группы «Convention»} \subsection{Разбор Pylint правил из группы «Convention»}
@@ -611,6 +609,25 @@ if __name__ == "__main__":
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
\subsection{Разбор Pylint правил из группы «Error»}
Эти проверки сигнализируют о проблемах, которые приведут к сбоям выполнения программы.
\begin{itemize}
\item Синтаксические ошибки:
\begin{itemize}
\item Ошибки в написании кода (например, забытые двоеточия, скобки,
неправильное построение конструкции) могут привести к невозможности интерпретировать код.
\item Такие ошибки выявляются на этапе статического анализа до выполнения программы.
\end{itemize}
\item Ошибки времени выполнения:
\begin{itemize}
\item Обращение к несуществующим атрибутам: Если код пытается получить
доступ к атрибуту, которого нет у объекта, Pylint укажет на эту проблему.
\item Неправильное использование функций: Например, вызов метода на объекте неподходящего типа или передача неверных аргументов, что в итоге
вызовет исключение при выполнении.
\end{itemize}
\end{itemize}
\newpage \newpage
\section{Процесс тестирования} \section{Процесс тестирования}
\subsection{Подготовка} \subsection{Подготовка}
@@ -619,7 +636,7 @@ if __name__ == "__main__":
Чтобы установить PyLint, достаточно выполнить команду \texttt{pip install pylint} внутри виртуального окружения. Чтобы установить PyLint, достаточно выполнить команду \texttt{pip install pylint} внутри виртуального окружения.
Для запуска статического анализа достаточно выполнить команду \texttt{pylint file.py}, где \texttt{file.py} -- это название файла с исходным кодом. Для запуска статического анализа достаточно выполнить команду \texttt{pylint file.py}, где \texttt{file.py} -- это название файла с исходным кодом. При запуске PyLint без дополнительных параметров, статический анализатор будет искать все типы ошибок, перечисленные в предыдущем разделе.
\subsection{Результат работы анализатора} \subsection{Результат работы анализатора}
@@ -847,9 +864,9 @@ if __name__ == "__main__":
\item 4 рекомендации по рефакторингу исходного кода. \item 4 рекомендации по рефакторингу исходного кода.
\end{itemize} \end{itemize}
В результате проделанной работы программный код был исправлен в соответствии с рекомендациями статистического анализатора. На примере небольшой программы была наглядно продемонстрирована польза от использования статических анализаторов кода. Были сделаны выводы о том, что статистическое тестирование позволяет выявить некорректность как в логике работы программы, так и в стиле её оформления. На примере PyLint был получен первый опыт использования статических анализаторов кода. В результате проделанной работы программный код был исправлен в соответствии с рекомендациями статистического анализатора. На примере небольшой программы была наглядно продемонстрирована польза от использования статических анализаторов кода. Были сделаны выводы о том, что статистическое тестирование позволяет выявить некорректность в первую очередь в стиле оформления программы. На примере PyLint был получен первый опыт использования статических анализаторов кода.
В процессе статистического тестирования были выявлены некоторые недостатки, которых не удалось обнаружить во время инспекции за столом. Поэтому статистическое тестирование является хорошим дополнением к инспекции за столом. В процессе статистического тестирования были выявлены некоторые недостатки, которых не удалось обнаружить во время инспекции за столом. В основно они связаны с оформлением кода. Например, при инспекции кода не было замечаний по поводу отсутствующих комментариев с документацией. Также была пропущена достаточно серьёзная неточность -- переменная из внешней области видимости перекрывалась переменной из локальной области видимости. Однако во время инспекции была обнаружена логическая ошибка при формировании пароля, состоящего только из заглавных символов. На основе полученных результатов можно сделать вывод, что статистическое тестирование является хорошим дополнением к инспекции за столом.
К тому же статическое тестирование не столь трудозатрано и его можно автоматизировать. К тому же статическое тестирование не столь трудозатрано и его можно автоматизировать.
\newpage \newpage