55137

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

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

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

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

Украинкский

2014-03-22

114 KB

4 чел.

Практичне заняття №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/ 


 

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

40016. Анализ финансовых результатов деятельности предприятия 626 KB
  Выводы по финансовому состоянию ориентируют предприятие на выбор определенной стратегии: рост удержание положения или сворачивание производства.1 Расчет основных показателей и их нормативные значения Показатели Формулы расчета Нормативные значение Показатели ликвидности предприятия Коэффициент покрытия коэффициент текущей ликвидности показывает не обеспеченность обязательств предприятия оборотными средствами стр.290 баланса стр.220 баланса стр.
40017. Анализ маркетинговой среды предприятия 150.5 KB
  Анализ финансовых результатов от реализации продукции. Высоким темпам роста российской автомобильной промышленности будет способствовать сочетание развитого внутреннего рынка и значительного экспортного потенциала продукции с высокой добавленной стоимостью. Предполагаются следующие тенденции развития автомобильной промышленности: рост товарной продукции; рост инвестиций; рост экспорта автомобильной продукции; сохранение достаточно высокого уровня рентабельности производства; стабильный рост средней заработной платы; глобализация...
40018. Анализ издержек и безубыточности производства 132 KB
  Во второй строке определяется сумма затрат согласно условию 1 при неизменных структуре выпуска продукции сумме переменных затрат и сумме постоянных затрат затраты базового периода приводятся к объему выпуска отчетного фактического периода: ЗТтпУсл1 = ∑08 bуср08 IА УПЗ∑08. абсолютных...
40019. База данных для учета информации об участниках гаражного кооператива 8.77 MB
  Аccess достаточно хорошо совместим с MS SQL Server и другими форматами баз данных. Аccess изначально представлялся как настольная база данных и в этой сфере ему трудно найти равного соперника. ccess позволяет разработать профессиональную базу данных в более короткие сроки и за меньшие деньги и вполне удовлетворить запросы заказчика. Кроме того такое решение обладает большей гибкостью настраиваемостью в него легко можно внести дополнения и изменения быстрее и дешевле чем в промышленные базы данных на основе Orcle и C.
40020. База данных «Магазин музыкальных дисков» 669 KB
  Описание исходных данных и предметной области.Разработка базы данных на базе СУБД CCESS 9 2.Обработка данных с помощью ТП EXCEL 3. Представление имеющихся в данных тенденций соотношений в виде диаграммгистограмм круговых диаграмм графиков 19 Заключение 31 Список использованных источников 32 Введение Базы данных БД составляют в настоящее время основу программного обеспечения информационных процессов входящих практически во все сферы человеческой деятельности.
40021. База данных «Бюро проката автомобилей» 2.13 MB
  Описание исходных данных и предметной области. Является основным связующим звеном всех данных других таблиц она отражает какой автомобиль был взят в аренду на какой срок какой был оставлен залог. Ниже приведена Схема данных Бюро проката автомобилей: 1. Microsoft ccess Microsoft ccess создана на основе реляционной модели базы данных и предназначена для создания быстрых эффективных баз данных применяемых в быту и бизнесе.
40022. Состав и структура автоматизированной информационной системы 32 KB
  Состав АИС Кадры Цель функционирования Объект АИС Предмет АИС Обеспечивающие подсистемы Таблица 2. Задачи решаемые АИС Кадры Первичный документ Формулировка задачи Тип задачи Функциональная подсистема Примечание Контрольные вопросы: 1.Что понимают под целью задачами АИС 2.
40023. Анализ данных в MS Excel 573 KB
  Подбор параметра Часто мы сталкиваемся с необходимостью решить то или иное уравнение например определить процентную ставку при которой предлагаемая сделка выгодна или определить скорость оборота капиталовложений. Подбор параметра как раз и является тем средством Excel которое позволяет очень просто решать эти задачи. Если значение функции может быть изменено только с помощью изменения значения одного параметра сама функция возможно зависит и от других параметров но мы не хотим или не можем изменять их значения то тогда отыскать...
40024. Имитационное моделирование инвестиционных рисков 138.5 KB
  В процессе предварительного анализа экспертами были выявлены три ключевых параметра проекта: объем выпуска Q цена за штуку P переменные затраты V. Прочие параметры: постоянные затраты при производстве F амортизация налог на прибыль T норма дисконта R срок проекта n начальные инвестиции I0 описывающие проект считаются постоянными величинами табл. Ключевые параметры проекта по производству продукта А Показатели Сценарий минимум максимум Объем выпуска Q 150 300 Цена за штуку P 40 55 Переменные затраты V 25 35...