Программирование в Linux. Самоучитель 2-е издание

Программирование в Linux. Самоучитель 2-е издание
Автор: Иванов Николай
Год: 2012
ISBN: 978-5-9775-0744-8
Страниц: 400
Язык: Русский
Формат: PDF
Размер: 10 Мб

Download

Рассмотрены фундаментальные основы программирования в Linux: инструментарий, низкоуровневый ввод-вывод, многозадачность, файловая система, межпроцессное взаимодействие и обработка ошибок. Книга главным образом ориентирована на практическое применение изложенных концепций. В ней есть все, что нужно начинающим, а углубленное изучение каждой темы делает ее ценной и для опытных программистов. Каждая тема проиллюстрирована большим числом примеров на языках С и С++ и Python, которые читатель сможет использовать в качестве образцов для собственных программ. На FTP-сервере издательства находятся исходные тексты программ.
Во втором издании материал актуализирован с учетом современных тенденций, добавлены 3 новые главы по программированию в Linux на языке Python, устранены замеченные ошибки.

+

Структура программы

Исходный код программы состоит из инструкций и комментариев. В языке Python инструкция — это не являющаяся комментарием строка исходного кода или несколько соединенных строк. Естественно, пустая строка, как и комментарий, инструкцией не является. Чтобы объединить две строки в одну инструкцию, в конце незавершенной первой строки ставят символ обратной косой черты (бэкслэш). Такой подход часто называют конкатенацией строк исходного кода. Мы уже делали это в главе 4, когда работали с make-файлами. Следует также отметить, что при конкатенации строк исходного кода между ними автоматически вставляется
пробел.

Чтобы не путаться в дальнейшем, давайте определимся с формулировками. В английском языке, откуда берется большинство терминов, связанных с программированием, строка исходного кода обозначается как line, а текстовая строка (например, “Be yourself!”) определяется словом string. В русском языке за оба значения отвечает слово “строка”, поэтому, чтобы не путаться, далее слово line будем переводить как “строка исходного кода”, а string будем называть просто “строка” или “обычная строка”.

Рассмотрим теперь пример, демонстрирующий конкатенацию строк исходного кода (листинг 29.8).

С технической точки зрения нет необходимости разделять инструкции на несколько строк исходного кода. Однако в среде программистов на языке Python использование в исходном коде слишком длинных строк (свыше 79 символов) считается плохим стилем. Во-первых, слишком длинные строки делают программу трудночитаемой. Во-вторых, при миграции исходного кода из одной программы в другую (например, из одного текстового редактора в другой или из Web-браузера в текстовый редактор) может получиться, что слишком длинная строка будет автоматически разбита на две коротких, но без связующего символа обратной косой черты. Это неизбежно приведет к ошибкам при запуске программы.

В языке Python используются однострочные комментарии, которые начинаются с символа # (решетка) и действуют до конца текущей строки исходного кода. Комментарии используются в двух случаях: для разъяснения смысла отдельных участков исходного кода, а также для комментирования самого исходного кода при отладке. В первом случае программист объясняет себе (в качестве напоминания), а также всем тем, кто будет читать исходный код, что означают те или иные инструкции. Это вносит ясность в исходный код и помогает лучше его структурировать.

 

В первой строке исходного кода содержится комментарий, разъясняющий, что, собственно, делает эта программа. В третьей строке кода комментарий располагается вслед за инструкцией, объясняя ее назначение. И, наконец, последняя строка исходного кода — это закомментированная инструкция, которая будет игнорироваться компилятором до тех пор, пока мы не уберем символ комментария. Вот что выводит программа:

$ python3 comment1.py
Be yourself!

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

Итак, первое правило гласит, что комментарии должны писаться на английском языке, особенно если речь идет о программе с открытым исходным кодом. Вообще говоря, даже если программа изначально нацелена на русскоязычного пользователя, в исходном коде все равно не должно быть русского языка. Это касается не только комментариев, но и таких вещей, как интерфейс программы, сообщения об ошибках и т. п. Чтобы “заставить” программу говорить на каком-нибудь языке, например по-русски, существуют различные инструменты для интернационализации и локализации программ, которые и следует использовать. Это правило часто нарушается, что обычно имеет негативные последствия.

Второе правило касается избыточного комментирования. Комментарии должны появляться в исходном коде лишь там, где они действительно нужны. Если в исходном коде слишком много комментариев, то это только усложняет восприятие.

У этой медали есть еще одна сторона. Придерживаясь правила комментировать только то, что может вызвать вопросы, вы все равно можете оказаться в море “объяснительных записок”. Обычно такой результат свидетельствует о том, что в программе используются слишком сложные подходы к решению задач, нуждающиеся в упрощении.

И третье правило говорит о том, что короткие комментарии, относящиеся к одной инструкции, лучше размещать на одном уровне с этой инструкцией. Если же комментарий касается группы инструкций или слишком длинный, чтобы поместиться на одной строке вместе с инструкцией, то его следует помещать над объектом комментирования, а не под ним.