Проверка исходного кода на возможность компиляции и проверка синтаксиса на корректность

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

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

Существует множество инструментов и онлайн сервисов для проверки интерпретируемого программного кода на корректность, среди которых можно выделить PEP 8 (Python) [16], PHP Code Checker [17], JSLint (JavaScript) [18] и многие другие.

Проверка исходного кода на соответствие стандартам оформления

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

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

Можно выделить наиболее популярные инструменты: Intellij IDEA (Java) [19], PMD (Java) [20], Clang (C, C++, Objective-C) [21], PVS-Studio (C, C++, C++11, C#) [22] и многие другие.

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >