Главная » Просмотр файлов » Искусство программирования на Си

Искусство программирования на Си (984073), страница 8

Файл №984073 Искусство программирования на Си (Искусство программирования на Си) 8 страницаИскусство программирования на Си (984073) страница 82015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 8)

Но в список я включил некоторые наиболее странные и наименее известные из зарезервированных идентификаторов. Чтобы еще больше сократить список, я использовал регулярный синтаксис выражений. Здесь [А-2] означает любой символ алфазитз з верхнем регистре; [0-9] означает любую цифру; " (ззездочкз) означает зсе что угодно, и т.д. Итак„без дальнейших рассуждений просто ме ислояьзуйте зти идентификаторы Кроме того, что эти имена слишком длинны и неудобны для набора на клавиатуре, онн еще нарушают правило, в соответствии с которым гарантируется различение только первых 3! символа. Аббревиатуры е]опЬ1з РгзлСЧГ1ЕРсгвгйезозе1ее]егззе доц]язв РгзлтлгзхеегРгяезС1с1еджез конечно, представляют два различных иденуификатора— с точки зрения компилятора, но разве улучшилась их обозримость? Я так не думаю. Такие имена переменных выглядят просто )чкасно! Эти идентификаторы уже смотрятся лучше, пусть даже они несколько длиннее, чем просто аббревиатуры: е]оць1з Ргззелеуз1РзецгвРгоя1сзцгоззг ЬопЬ1в Ргезелеуз1ецсогзвгоеьезезег хотя они все же слегка длинноваты, чтобы быть удоб- ными в использовании.

В таком случае есть смысл про- сто укоротить их пересечения с вами и вторжения в вашу область имен. А ведь было бы хорошо совсем оставить за реализацией формирование области имев! Безопаснее всего не начинать имен идентификаторов с символа подчеркивания. Хотя- конечно символы подчеркивания это хорошая вещь.

Хорошо, что реализации обычно включают защиту вокруг своих заголовков. Но это хорошая вещь и для пользователей-программистов. Прискорбно, но привычка копировать соглашение ХАМЕ Н реализатора становится широко распространенной. (Реализаторы версии компилятора разрешают использовать лидирующие символы подчеркивания. Смысл ограничения состоит в том, чтобы предотвратить конфликт ваших идентификаторов с идентификаторами реализации.) Как бы там ни бьшо, используйте последующие символы подчеркивания, но если вы хотите, чтобы ваша программа была переносимой, не используйте лидирующих символов подчеркивания.

Ниже приведен хороший способ обеспечения включени,я, зац[иуы е[о-э]* е[д-в] !.з[з-з] ьс[д-1]в язв[а-г]* еввввс О[гззхо( гаьзз в]с(а-я! зег]а-г!' Со(а-г!" коз[а-г)* К сожалению, это ведет не только к затруднительному произношению имен, но и делаег задачу изменения типа переменной значительно более сложной. В Ьу~пдочуз 3.! тип гп! имеет размер ]6 Он~он. Если вы начнете с типа [пс, но обнаружите (после придания этого ]пс тридцати или сорока функциям в качестве форматьного параметра), что тип [вс, в конце концов, недостаточно велик для ваших целей, то должны будете изменить не только тип переменной, но и ее имя — во всех тридцати или сорока функциях! Венгерская нотация впала в немилость у всех, за исключением нескольких особо упорных ЬУ[пдозиз-программистов, поскольку для ннх это было непрактично.

(Это реплика для 30 или 40 сердгпых сетевиков во всем мире, ко~орые уверяют меня, что венгерская нотация по-прежнему используется и многимн любима.) Нет сомнений, что в сети имеется несколько сайтов, гле она продолжает существовать, но большинство людей отказались от нее. Писать префиксы, вообще, — плохая Пертмотренаыо юыа С И~ Часть ! гееегп Теаг В 4 == 0 44 (Теаг В 100 1= 0 ) / Теаг В 400 == 0)> ) является визуальным ключом и притом высокоэффек- тивным. Именование функций Я изменил ее следующим образом: 4 == 0; 4 == 0 ьь ! 0 ( ( Теаг В 400 == О! гурмо!ее Ьпг ( т РГ азтс) (сваг в) часто для описания указателя, ее лучше не использовать в качестве счетчика цикла. В графических программах нередко можно увидеть циклы, управляемые переменными х и у.

Для более постоянных переменных следует использовать более осмысленные имена, н очень ва:кно хорошо подобрать эти имена (фактически я действительно верю, что выбор хороших имен для идентификаторов является одним из наиболее важных и сложных аспектов программирования вообще). Для псременныл, представляющих свойства (такие, как цвет, высота, соотношение и т.п.), лучше всего использовать соответствующее существительное, Иногда вам потребуется квалификатор, такой как ВаскСо>ог или ЕогеСо>ог.

Переменные, представляю>цие булевы состояния, должны носить имена, отражающие их текущее состояние. Имеется большое искушение использовать для атой цели слово "(5". Это можно делать, если вы используете локальныс переменные. Таким образом, не общности Например, МА>Ч (человек) — более подходящее имя типа, чем ЯМО(Ч (Симон), а для большинства прило;келий еще лучше использовать просто РЕЕВО)Ч (лицо). Иногда для упрощения объявления вам захочется использовать туре!>еГ. В таких случаях именование все еше важно, но уже менее важно, чем то, что имя должно быть легкочитаемым су>десгвитсльным.

Имя должно меньше всего отражать смысл типа. Давайте, например, определим указатель на массив из 25 указателей на функцию, принимающую тнп йопме, и указатель на функцию, принимающую сйаг * и возвращающую тип ш(, а также возвращающую >и( (!). Массив будет использоваться, скажем, для расчетов закладных. Прежле всего давайте определим псевдоним типа для указателя на функцию, принимающую сйаг и возвращающую йп: Войны стандартовнрограмиировонингнрининыиаутинереаириа ЩЯВ Глава 2 Правильное именование ф>нкций действительно очень ьпе геьеартеаг (зпг теаг) важно.

Хорошие имена функций могут значительно ( улучшить читабельность программы, а недостаточно тшагеепгп Теаг В тельно подобранные имена для функций могут сильно гееегп Теаг В затемнить ясную с других точек зрения программу. (Теаг В 100 Функция предназначена для выполнения, каких-то > действий, так что кажется вполне естественным в ее имя Так почему же а изменил ее! Я бы а жизни не еспомввести глагол Кроме того, функции редко существуют нил.

Я даже вызвал коллегу, который работал на том же в вакууме, сами по себе. Функция не просто выполня- самом модуле; вместе мы начали просматриеать код и ет какие-то действия, но н делает это с определенной провозились целый час (честно!), и, когда мы были тольцслью. Если это так, было бы хорошо включить в на- ио на шаг от решения, мне стало «азатьса, что а внес звание функции соответствующее существительное совершенно бессмысленное изменение. Таким образом, например,а(геру Π— хорошее имя для Затем наконец я заметил, что е самом начале иода а написал наной-го комментарий.

Из него следовало, что функция Ььеаруеаг Н еызыеалась обычно с дауицифро- Я лично предпочитаю такую форму имени функции —, ф>' Ппрпгмомроннылпоып С Воипыгп~андармоо программиропаниигприпины о прио оорпмирип Часть! Глава 2 (Можно, однако, писать код, выполняя форматирование, и, во всяком случае, некоторые редакторы уже могут делать это за вас.) Иногда проблему сопровождения блочных комментариев можно обойти, например, так: Лао (раЕЬ); // работает мк С: 1итдРРЬпх (рапп) г Ькк (ркЕЬ] г Эти комментарии локументируют механизм, но не намерения программиста. Значительно лучше комментировать сразу несколько строк кода: блока операторов, становятся просто бессмысленно ав- торитарными: Далее комментарий удаляется препроцессором, и, таким обраюм, функция Ьвх О вообще никогда не будет вызвана. Это — порочная ошибка и, по моему глубокому убеждению, достаточная причина для того, чтобы вообще не использовать комментарии типа //.

Но, конечно, вы должны составить свое собственное мнение на этот счет. 1С (р= -> ( агап = ввс; ++р; /* комам блока хя (р =- ' †') / /* обработать ьтоп о клиакть и сделать текупппп сльдуппаато клитита */ Садр *1зве; *ййас = (п11ас) -> ПЕХСГ чпу (б ел е , е ир -> бьем, ма*а л *б е ре ); /****************о****о********оп******* Это бпочамй коммеатарвй с удапеавой с правой сторовм колонкой звездочек. — делать это явно глупо.

Не "закомментируйтек код Такой комментарий намною лучше — когда мы решим удалить список и использовать вместо него простои массив, нам не придется переписывать комментарий. Когда комментарии излишни и по*поп*поп и и * * *и* ° ппп ° и/ Как вы думаете, откуда взят приведенный здесь ком ментарий? Так намного лучше, поскольку у вас уже есть почти все звезлочки и преимушества привлекающего внимание блока.

Некоторые используют полностью минимизированный блок: хоп г /» добавить 1 к 1 и/ Если вы ответили: "из маленькою блока", то получаете шесть очков. Если вы ответили: "из учебника по С", то получаете десять очков и бесплатный виноград (пока запасы не иссякли; у меня естд только одна кисть, /* это бпочвмй коммеатармй с удалеавммв справа, слева, сверху а сввзу рядамв звездочек. ' Ю,";,=' У Э и'', " '-",.„',~,',",От';;""; „',. ", "-,";,='; Э .'а "-;"- ' ',"";", 'а "-;"-' '; "; а",;,=' У ';,"" оп ",;;;-' ':""...,," '"- "" =" " Э ""' '"- '' З '„"".;';ига' ""; ' .„', ". ".,; ',';,:":' ':; ' " '„.'..," „' .„', ". ".,; 'Кгт,: Гп Г,, '-',.

Характеристики

Тип файла
DJVU-файл
Размер
12,26 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6264
Авторов
на СтудИзбе
317
Средний доход
с одного платного файла
Обучение Подробнее