Программа TCalc 1993 (Turbo Pascal 6.0) состоит из следующих файлов:
tcalc.pas — файл основной программы;
tcell.pas — файл работы с клетками;
tcellsp.pas — файл дополнений работы с клетками (изменение значений);
tchash.pas — файл дополнений работы с клетками (значения в клетках);
tcinput.pas — файл подпрограмм ввода данных с клавиатуры;
tclstr.pas — файл подпрограмм работы со строками;
tcmenu.pas — файл подпрограмм, обслуживающих систему меню;
tcparser.pas — файл интерпретатора арифметических выражений формул клеток;
tcrun.pas — файл инициализации и запуска основных объектов;
tcscreen.pas — файл подпрограмм работы с дисплеем;
tcsheet.pas — файл подпрограмм, обслуживающих действия, выбранных посредством меню;
tcutil.pas — файл вспомогательных подпрограмм;
mcmvsmem.asm — ассемблерный файл подпрограмм запоминания в оперативной памяти информации экрана, а также восстановления ранее сохраненной информации экрана.
Все файлы закодированы с соблюдением стандартов оформления.
Хотя фирма "Borland Inc." занимается разработкой компиляторов, файл mcparser.pas также является заимствованным из UNIX YACC utility и лишь частично модифицирован. Остальные файлы являются оригинальными.
Ассемблерный файл mcmvsmem.asm является искусственно добавленным. Цель его добавления — демонстрация возможности использования ассемблерных вставок. Результаты арифметического анализа текста программы представлены в табл. 8.2.
Таблица 8.2
Результаты анализа текста программы TCalc
Имя файла |
Всего строк |
Количество описательных операторов |
Комментарии |
Пустых строк |
Количество процедур |
Количество описательных операторов процедур |
Код |
Всего |
Строк |
Tcalc |
21 |
2 |
9 |
3 |
5 |
1 |
3 |
8 |
Tcell |
1962 |
490 |
206 |
20 |
153 |
46 |
152 |
1147 |
Tcellsp |
228 |
39 |
24 |
5 |
18 |
6 |
25 |
141 |
Tchash |
262 |
50 |
47 |
23 |
23 |
14 |
43 |
123 |
Tcinput |
334 |
63 |
39 |
15 |
22 |
9 |
32 |
202 |
Tclstr |
243 |
45 |
120 |
20 |
12 |
15 |
52 |
114 |
Tcmenu |
234 |
48 |
40 |
20 |
21 |
22 |
66 |
79 |
Tcparser |
677 |
73 |
29 |
5 |
17 |
9 |
64 |
518 |
Tcrun |
1367 |
146 |
128 |
59 |
57 |
47 |
163 |
942 |
Tcscreen |
523 |
215 |
92 |
37 |
16 |
8 |
96 |
159 |
Tcsheet |
1722 |
240 |
170 |
40 |
44 |
32 |
101 |
1297 |
Tcutil |
379 |
114 |
55 |
38 |
70 |
29 |
115 |
42 |
Итого: |
7952 |
1525 |
959 |
285 |
458 |
238 |
912 |
4772 |
|
|
20,3% |
|
3,8% |
|
|
12,2% |
63,7% |
В табл. 8.3 и на рис. 8.3 отображены результаты сравнительного анализа технологий структурного и объектно-ориентированного программирования.
Таблица 8.3
Результаты сравнительного анализа технологий структурного и объектно-ориентированного программирования
Имя программы |
Всего строк |
Количество описательных операторов |
Комментарии |
Пустых строк |
Количество процедур |
Количество операторов процедур |
Код |
Всего |
Строк |
MCalc |
3232 |
460 |
274 |
111 |
253 |
102 |
365 |
2043 |
|
|
15,4% |
|
3,7% |
|
|
12,3% |
68,6% |
TCalc |
7952 |
1525 |
959 |
285 |
458 |
238 |
912 |
4772 |
|
|
20,3% |
|
3,8% |
|
|
12,2% |
63,7% |
Сравнительный анализ технологий структурного и объектно-ориентированного программирования установил, что для этих технологий наблюдается практически полное совпадение:
• процентного состава описательных операторов;
• процентного состава количества комментариев;
• процентного состава описательных операторов процедур;
• процентного состава операторов кода программы.
Рис. 8.3. Результаты сравнительного анализа технологий структурного и объектно-ориентированного программирования
При проведении разработки по технологии объектно-ориентированного программирования по сравнению с технологией структурного программирования объем кода увеличился в 2,34 раза с учетом только кода, выполняющего одни и те же функции (для этого был исключен код функций, аналогичных функциям работы с clipboard Windows). Общее число строк увеличилось в 2,46 раза. Во столько и даже более раз увеличилась трудоемкость разработки.
Собственно функционально полезный код программ Mcalc и Tcalc — одинаковый и составляет порядка 1500 строк.
Читать дальше