Инструменты пользователя

Инструменты сайта


examination:c:question18

Вопрос №18. Анализ и оценка стиля программирования.

Под стилем программирования понимается форма представления, и ее разметка, и читаемость.

В качестве критериев стиля программирования используется:

  1. Размер модуля – это средняя длина блока непустых строк.
  2. Размер идентификатора – средняя длина используемых идентификаторов.
  3. Комментарии – процент строк, содержащих комментарии.
  4. Отступы – отношения начальных пробелов к общему числу символов; отступы используются для выделения структур программы.
  5. Пустые строки – процент пустых строк относительно всех строк программы; пустые строки используются для выделения функциональных частей программы.
  6. Длина строки – среднее число символов, исключая пробелы в строке. Вычисляется через отношение общего числа символов модуля к числу строк модуля.
  7. Добавленные пробелы – среднее число добавленных в строку пробелов ( const a = 1)
  8. Определение констант – процент идентификаторов, определенных как константы.
  9. Служебные слова – число различных служебных слов и стандартных функций, использованных в программе.
  10. Включенный файл.


C каждой из характеристик связывается некоторая оценка

Критерий Вес Идеальный диапазон
Длина модуля 15% 10-25 непустых строк
Длина идентификатора 14% 3-8 символов
Процент комментариев 12% 15-25 строк
Отступы 12% 20-48%
Пустые строки 11% 15-30%
Число символов в строке 9% 12-25 непустых символов
Число пробелов 8% 2-8 пробелов
Определение констант 8% 10-20% от используемых идентификаторов
Служебные слова 6% 16-30 из доступных слов
Включенные файлы 6% 3 файла

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

Проверить рисунок на адекватность и удалить эту заметку

MN – идеальный диапазон

L – такое значение критерия, ниже которого оценка отсутствует

LM = NK

examination/c/question18.txt · Последние изменения: 2014/01/15 12:09 (внешнее изменение)