Устраняем пробелы, изучаем Android

Речь пойдёт не о пробелах в знаниях, но об этом чуть позже.По старой привычке я по-прежнему читаю книги по программированию в бумажном варианте. В частности, про разработку под Android. Несколько лет назад с литературой по этой тематике на великом и могучем была напряжёнка. Сейчас положение немного выправилось. Я купил и прочитал, наверное, 99% всех выпущенных книг. Есть две проблемы с книгами. Первая — они однотипны в своей массе и рассказывают об одном и том же. Вторая проблема — значительная задержка в выпуске издания. Как правило, запаздывание происходит на 1–2 версии, что бывает достаточно критичным. Например, когда появились версии Android 3.0 и 4.0 с фрагментами, читать примеры создания приложений под Android 2.3 было глупо.

В далёком 2011 году вышла книга Android за 24 часа, которая, на мой взгляд, была одной из лучших. Мне понравился подход к раскрытию темы — брался один сквозной проект и постепенно усложнялся от часа к часу. Попутно объяснялись фундаментальные вещи на одном проекте. Было понятно, где и когда применять те или иные возможности.На прошлой неделе случайно наткнулся в интернете на сообщение, что вышло новое издание с более длинным названием Создание приложений для Android за 24 часа с теми же авторами. И немедленно выпил купил.При покупке меня немного смутило, что на обложке красовалась надпись 3-е издание. Видимо, отсчёт идёт от зарубежных изданий. Ладно, не будем придираться.

На этот раз авторы отказались от прежнего подхода и стали писать как все. Один час, одна тема, один проект. Затем всё по новой. В середине книге они временно вернулись к старому способу, когда в течение 4 уроков объясняли новые темы на примере одного проекта.

Начал читать. Уже к сороковой странице встретились две опечатки:

bfef468d908a4c47914cb9d0405716da.png

Прошли те времена, когда за подобное можно было и «партбилет на стол положить». Я общался с людьми, которые в советское время работали в издательском деле и знаю об этом не понаслышке. Теперь опечатками никого не удивишь, а в компьютерной литературе они встречались сплошь и рядом.Но дальше моё изумление нарастало всё больше и больше.Моему взору предстало предложение, написанное без единого пробела. Сразу вспомнился школьный немецкий язык, где длинные слова не были редкостью:

60d8ebb8ff9b4753bef9dc2371b6d4db.png

Если вы думаете, что была случайность, то вам ещё пример:

acb1173d8a0c4b1da25364e1db4d87f1.png

На самом деле, отсутствие пробелов встречается постоянно. Как будто, кто-то решил сэкономить на бумаге и сберечь лес. Иногда, в предложении не хватает одного пробела, иногда двух. Иногда их не существует как класса.

cc1968940c4e4fb8b0441941d32fa09a.png

Оставим пока пробелы в покое. Обратимся к коду. Кстати, шрифт для кода мне не понравился, какой-то узкий и не слишком читаемый. Но я не шрифтовик, может чего-то не понимаю.

Смотрим на такой код:

64fe572ce33f40618850f91b13a8c971.png

Как вам? Две переменные с одинаковыми именами практически рядом. А принцип наименования из одного символа? Чего греха таить, я и сам лет пятнадцать назад в Visual Basic писал в таком же стиле для себя. Сейчас такой подход оправдан, наверное, только в js-библиотеках для уменьшения размера.

Потом авторы исправляются и стали давать кнопкам более осмысленные названия. Но хрен редьки не слаще.

469d9ea5bff74b6ea015dcb693539055.png

По-моему, во всех современных языках существует негласное правило использовать глаголы для методов-функций.Но только в этом случае.

cc79e21958d44c109fbc7997eb38db22.png

Форматирование кода без отступов (борьба с пробелами, вы помните):

83ab7ffeba2043af888e25dce202a80f.png

Ладно, отступы. Так убрали пробел между именем класса и переменной.Случайность? Не думаю.

64927e3d021048039ed4004b809c0faa.png

Код без ошибок — это фантастика. Программист не должен слепо копировать текст.

Снова «удачное название кнопки».

3d5f2833707d46e1ac587b76f5b230fd.png

Оформление текста.Методы в Java пишутся с маленькой буквы. Ну это такая мелочь. А вот Word при форматировании заменил их на большие, Word не может ошибаться (одна из версий, почему так произошло).

4e91bf131dde442bbe407a1ac68f181c.png

Но иногда можно сделать исключение и один пункт оставить с маленькой. Действительно, чего я придираюсь.

d81f88979f914c429126a97b27a85a3f.png

Таблицы оформлены с любовью, пробелы не пройдут!

21639a3a4eb349c4a5d2cedcb42c9452.png

Если потихоньку воруем пробелы, то давайте отсыплем читателю одиночных кавычек.

6c56481a92744cc7a14d5c767364577e.png

Удивительно, на страницах книги приводятся отрывки из кода, а где посмотреть полные исходники нигде не написано. Никаких упоминаний в книге не нашёл. На сайте российского издательства тоже. Пришлось искать сайт зарубежного издательства, и только там я нашёл ссылку на архив.

На страницах книги встретилась ремарка, что сей труд писался в июне 2013 года. Помните, я говорил об отставании в начале статьи. Это означает, что здесь вы не встретите материалы о Material (каламбур), а также упоминания про Android Studio. Многие начинающие разработчики воспринимают Eclipse и Android Studio как разные и не совместимые языки программирования (!). Не раз встречал подобные заявления на форумах, где люди отказывались изучать пример, если там встречалось слово Eclipse, с утверждением: «Ведь там всё по другому и работать у меня не будет».

Книга оставила у меня двойственное впечатление. С одной стороны, там освещаются интересные темы с использованием API для Flickr и Facebook.

Сдругойсторонывсеэтиопечаткиивойнаспробеламивесьмаозадачиламеня.

Счастливоговампрограммирования!

© Habrahabr.ru