55137

Порівняння стилів програмування

Практическая работа

Педагогика и дидактика

Стиль Олмана llmn Названий за іменем Еріка Олмана хакера з Берклі який написав у такому стилі багато утиліт для BSD. Стиль GNU Використовується у вихідних кодах проекту по розробці вільного програмного забезпечення GNU.

Украинкский

2014-03-22

114 KB

3 чел.

Практичне заняття №1

Порівняння стилів програмування

  1.  Історія виникнення стилів, їх різновиди.
  2.  Критерії порівняння стилів.
  3.  Практичні завдання.

  1.  Історія виникнення стилів, їх різновиди.

Незважаючи на те, що інтуїтивно вироблені правила по складанню програм використовувалися до епохи структурного програмування, поняття стилю було введено у програмування саме у цей період Брайаном Керніганом та Денісом Річчі. Тоді стилі представлялись у вигляді міркувань про те, як писати програми, що відповідають принципам структурного програмування та вимогам зрозумілості тексту. Автори не формулювали визначення стилю чи вимог до нього і не обмежували програміста у виборі правил та рекомендацій по написанню коду. Вони лише звертали увагу на особливості та прийоми мовних конструкцій, складання й форматування тексту для того, щоб зробити його зручнішим для читання й розуміння, полегшення його доопрацювання, зміни та повторне використання.

Крім Б. Кернігана та Д. Річчі свої стилі почали пропонувати й інші автори. Багато стилів залишились маловідомими та вузькоспецифічними, а деякі, навпаки, отримали відомість та розповсюдженість. Певні стилістичні правила підтримуються редакторами середовищ програмування.

Для розгляду на практичному занятті пропонуються наступні стилі:

  •  Стиль K&R (1TBS, OTBS, kernel)

Названий по першим літерам прізвищ засновників стилю (Б. Керніган і Д. Річчі). 1TBSone true brace style – «єдиний правильний стиль дужок». Іноді називається kernel-стилем, оскільки ядро Unix написано з його використанням.

  •  Стиль Олмана (Allman)

Названий за іменем Еріка Олмана, хакера з Берклі, який написав у такому стилі багато утиліт для BSD.

  •  Стиль GNU

Використовується у вихідних кодах проекту по розробці вільного програмного забезпечення GNU. 

  •  Стиль Уайтсміта (Whitesmith)

Використовувався у прикладах, які надавалися з компілятором Whitesmiths C.

  1.  Критерії порівняння стилів

Правила стилів програмування мають на меті, в основному, задати вигляд та відступи структурних операторів. Більш повні та докладні описи стилів представлені у спеціальних документах. Найвідомішим із них є «Indian Hill C Style and Coding Standards» та його модифікації «Recommended C Style and Coding Standards». Даний документ був сформованим для лабораторій Indian Hill (AT&T), щоб виробити єдиний набір стандартів та рекомендацій. За думкою авторів, цілями використання стилів є сприяння чіткій та послідовній організації коду, що підвищує степінь його зрозумілості, покращує переносимість та супровід, зменшує кількість помилок при написанні.

Б. Керніган та Д. Річчі вказують, що не так важливо повністю прийняти весь перелік стандартів і обов’язково слідувати всьому набору. Варто відібрати лише необхідні з них при певних умовах і послідовно їх застосовувати, дотримуватися єдиного стилю програмування у всьому тексті програми.

У даній практичній роботі критеріями порівняння різних стилів програмування служитимуть:

  •  Стиль відступів.
    •  Розстановка фігурних дужок.
    •  Стилі нотації.

Стиль відступів – правила форматування вихідного коду, згідно з якими відступи проставляються у манері, зручній для читання. 

  •  Стиль K&R. Основний відступ складається з 8 пробілів (однієї табуляції) на рівень. Іноді використовується 4 пробіли.
  •  Стиль Олмана. Основний відступ – на 8 пробілів, проте широко розповсюджений стиль на 4 пробіли (особливо у С++).
  •  Стиль GNU. Відступи завжди 4 пробіли.
  •  Стиль Уайстміта. Основний відступ – 8 пробілів.

Розстановка фігурних дужок

  1.  

Стиль нотації – угода про найменування змінних, констант та інших ідентифікаторів у коді програм.

  1.  Угорська нотація – нотація, суть якої у додаванні до імен ідентифікаторів наперед задані префікси.

Префікс

Скорочення від

Смисл

Приклад

s

String

Рядок

sClientName

sz

zero-terminated string

Рядок, обмежений нульовим символом

szClientName

n, i

Int

цілочисельна змінна

nSize, iSize

l

Long

довге ціле

lAmount

b

Boolean

булева змінна

bIsEmpty

a

Array

масив

aDimensions

t, dt

time, datetime

час і дата

tDeliverydtDelivery

p

Pointer

вказівник

pBox

lp

long pointer

подвійний (дальній) вказівник

lpBox

r

Reference

посилання

rBoxes

h

Handle

дескриптор

hWindow

m_

Member

змінна-член класу

m_sAddress

g_

Global

глобальна змінна

g_nSpeed

C

Class

клас

CString

T

Type

тип

TObject

I

Interface

інтерфейс

IDispatch

v

Void

відсутність типу

vReserved

i

Index

індекс

int ix;

Array[ix] = 10;

d

Delta

різниця між значеннями

int a, b; ... dc = b - a;

n

Number

кількість

size_t nFound = 0;

  1.  Нотація «Верблюд» - стиль написання ідентифікаторів, при якому кілька слів пишуться разом, а кожне слово пишеться з великої букви. Приклади: BackColor, backColor, CamelCase.

Наведено основні ознаки, за якими відрізняються стилі програмування. Також існує багато інших критеріїв, за якими можна порівняти стилі.

3. Практичні завдання

Завдання. Оформити відповідно до стилю та нотації вихідні коди програм відповідно до свого номеру в списку підгрупи.

Вихідні коди:

  1.  Сортування вибором.
  2.  Сортування вставками.
  3.  Сортування злиттям.
  4.  Пірамідальне сортування.
  5.  Швидке сортування.
  6.  Порозрядне сортування.

Стиль програмування

  1.  Стиль K&R.
  2.  Стиль Олмана.
  3.  Стиль GNU.
  4.  Стиль Уайстміта.

Нотації:

  1.  Угорська
  2.  «Верблюд»

Завдання матиме вигляд 3/4/1 (сортування злиттям (3) за стилем Уайтсміта (4) та угорською нотацією (1)).

№ п/п

Завдання 1

Завдання 2

Завдання 3

Завдання 4

1

1/2/1

3/1/1

3/3/2

3/4/2

2

2/4/2

4/1/1

4/2/1

4/3/2

3

1/3/2

5/1/1

5/2/2

5/4/1

4

2/1/1

6/2/1

6/3/2

6/4/2

5

2/3/2

3/1/2

3/2/1

3/4/1

6

1/4/2

4/1/1

4/2/1

4/3/2

7

1/3/1

5/1/2

5/2/2

5/4/1

8

2/2/1

6/1/1

6/3/2

6/4/2

9

1/1/2

3/2/1

3/3/2

3/4/1

10

2/4/1

4/1/2

4/2/2

4/3/1

11

1/1/1

5/2/2

5/3/1

5/4/2

12

2/2/2

6/1/1

6/3/1

6/4/2

13

1/2/2

3/1/2

3/3/1

3/4/1

14

2/3/1

4/1/2

4/2/2

4/4/1

15

2/1/2

5/2/1

5/3/2

5/4/1

16

1/4/1

6/1/2

6/2/1

6/3/2

Рекомендована література

  1.  Применение стилей программирования в конструировании программного обеспечения.
  2.  http://www.maultech.com/chrislott/resources/cstyle/ 


 

А также другие работы, которые могут Вас заинтересовать

45011. ИЗУЧЕНИЕ ПРОЦЕССА ПОГЛОЩЕНИЯ СВЕТА ВЕЩЕСТВОМ 247.5 KB
  Ознакомиться с механизмом поглощения света изучить основные закономерности поглощения света веществом. ОСЛАБЛЕНИЕ СВЕТА Опыт показывает что при прохождении света через слой вещества его интенсивность уменьшается. Этот факт является результатом взаимодействия электромагнитного излучения с веществом при котором происходит поглощение и рассеяние света а также отражения света на границах раздела различных сред.
45012. Интерференция света и метод определения кривизны линзы с помощью интерференционных полос равной толщины 272 KB
  Возникновение интерференции связано во-первых с тем что для векторов напряженности электрических полей описывающих электромагнитные волны выполняется принцип суперпозиции. Так при наложении двух волн каждая из которых создает в точке наблюдения соответственно электрические поля напряженностью E1 и E2 результирующая напряженность в точке наложения будет равна: Ep = E1 E2 1 Во-вторых возникновение интерференции связано с тем что...
45013. ОСНОВНЫЕ СВОЙСТВА ОПТИЧЕСКИХ СИСТЕМ 348 KB
  Измерить фокусное расстояние оптической системы состоящей из двух линз методом Аббе. Оптической системой называется совокупность оптических деталей призмы линзы зеркала предназначенных для преобразования пучков световых лучей посредством преломления и отражения на поверхностях которыми ограничены оптические детали. Оптическую систему называют центрированной если центры сферических поверхностей или оси симметрии других поверхностей образующих оптическую систему расположены на одной прямой называемой оптической осью. Изображение...
45014. ИЗУЧЕНИЕ СПЕКТРА АТОМА ВОДОРОДА 387.5 KB
  Проанализировав результаты опыта, Резерфорд пришел к выводу, что столь сильное отклонение альфа-частиц от первоначального направления возможно только в том случае, когда внутри атома имеется чрезвычайно сильное электрическое поле, которое создается зарядом, связанным с большой массой
45015. ОПРЕДЕЛЕНИЕ ПОСТОЯННОЙ СТЕФАНА-БОЛЬЦМАНА ПРИ ПОМОЩИ ОПТИЧЕСКОГО ПИРОМЕТРА 355.5 KB
  Тепловым излучением тел называется электромагнитное излучение возникающее за счет той части внутренней энергии тела которая связана с тепловым движением его частиц. Энергетическая светимость RT количество энергии излучаемой в единицу времени с единицы поверхности тела во всем интервале длин волн. Зависит от температуры природы и состояния поверхности излучающего тела. Спектральная плотность энергетической светимости rТ=dW d количество энергии излучаемое единицей поверхности тела в единицу времени в единичном...
45016. СПЕКТРАЛЬНЫЕ ПРИБОРЫ 276 KB
  Рассчитать зависимости линейной дисперсии минимальной спектральной ширины щели разрешающей силы прибора от длины волны и построить соответствующие графики. Входной коллиматор в свою очередь состоит из объектива O1 и узкой щели S1. Объектив коллиматора формирует параллельные пучки света от каждой точки щели. Совокупность монохроматических пучков выходящих из диспергирующей системы попадает далее в камерный объектив который фокусирует отдельные пучки параллельных лучей и образует в его фокальной плоскости FF' совокупность изображений...
45017. Техника безопасности при монтаже кабельных линий напряжением до 35 кВ 1.25 MB
  Производство земляных работ. В данной главе будет рассмотрены вопросы по технике безопасности при монтаже кабельных линий КЛ напряжением до 35 кВ а именно: Требования к расположению кабельных линий в земле; Производство земляных работ; Погрузка выгрузка и перемещение барабанов с кабелем; Прокладка кабеля; Оконцевание и соединение кабелей; Испытание кабельных линий. ВНИПИ ТЯЖПРОМЭЛЕКТРОПРОЕКТ был разработан типовой альбом А592 Прокладка кабелей напряжением 35 кВ в траншеях.
45018. дидактическая игра как средство развития познавательных интересов учащихся 280.5 KB
  Решающее значение в развитии ребёнка принадлежит обучению на занятиях. Но совершенно особое место в жизни ребёнка занимает игра. В процессе игры ребёнок живёт, действует, как окружающие его взрослые, герои любимых сказок
45019. Разработка виртуального компьютерного практикума по атомной и ядерной физике 2.42 MB
  Следовательно приобретает особую актуальность создание таких мультимедийных электронных учебников которые позволили бы в полной мере обеспечить возможность самостоятельной работы с источниками информации. Цель дипломной работы состоит в создании виртуального компьютерного практикума по курсу Атомная и ядерная физика. Поставленная цель предполагает решение следующих задач: проанализировать лабораторные работы курса Атомная и ядерная физика; создать компьютерные модели физических процессов рассматриваемых в лабораторных работах...