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

    Речь пойдёт не о пробелах в знаниях, но об этом чуть позже.

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

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

    При покупке меня немного смутило, что на обложке красовалась надпись 3-е издание. Видимо, отсчёт идёт от зарубежных изданий. Ладно, не будем придираться.

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

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



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



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



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



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

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



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

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



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



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



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



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

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



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



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



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



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



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

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

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

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

    Счастливоговампрограммирования!
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 20
    • 0
      Мда.
      Со своей стороны считаю одной из лучших книгу «Android 4. Программирование приложений для планшетных компьютеров и смартфонов». Пока не прочитал, конечно :)
      Листаю сейчас «Программирование под Android. Для профессионалов». Первое, что смутило, полное отсутствие модификаторов доступа для большинства полей классов. А методы — че уж там — в большинстве своем публичные. Ну, и код в книге отличается от лежащего в архиве. То ли заботливые переводчики правили по ходу, то ли даже не знаю.
      • 0
        Ну, теперь осталось для пользы дела посоветовать лучшую книгу по Android в вашем рейтинге. Тем более, что вы знакомы с большинством книг по этой теме. Что посоветуете?
      • +1
        Вы меня уж извините, но эти ФОТО для мазохистов судя по всему.
        Разное приближение, размытость :(
        Частично ведь можно было перепечатать код, раз уж на то пошло.

        А в целом — во многих книгах сейчас такое.
        • 0
          Наверное просто прогуардом по книге прошлись
          • –2
            ProGuard не ломает работоспособность кода.
            • 0
              Как-то раз он мне выпилил конструктор какого-то класса в релизной сборке, в ORMLite. И приложение падало сразу же при его запуске, чего не было в дебаг сборке.
              • 0
                Есть такое, ProGuard очень плохо дружит с рефлексией, что и сломало ORMLite, но такое поведение, на мой взгляд, очень логично для обфускатора.
          • +1
            Извините.
            НО (Пусть меня исправят. Буду рад...) Мне не попадались хорошие книжки с изучением за 24 часа.
            Вообще в последнее время бумажные книги меня страшно разочаровывают. Полиграфия в России не успевает за прогрессом.
            • 0
              Но иногда можно сделать исключение и один пункт оставить с маленькой.

              Тут, кстати, ошибка в последнем имени файла, а не в предпоследнем, как посчитал автор статьи. fragment_a.xml — это правильно, ну и, соответственно, правильно будет fragment_b.xml.
              • +1
                Положим, я этого не утверждал. Просто привёл пример непоследовательности.
              • –2
                ой, eclipse уж так прославился своей стабильностью работы с тупейшим плагином для андроида, что начинающие программисты все правильно делают ) если уж решили мучаться с ведром, то хотя бы боль с IDE нужно сокращать.
                • 0
                  Справедливости ради. «Две переменные с одинаковыми именами практически рядом» — тут это не проблема, т.к. Button b — не final.
                  • +1
                    Это же не проблема работоспособности, это проблема «читаемости и воспринимаемости» кода.
                  • 0
                    Не видел ни одной нормальной книги по программированию, написанной русскими авторами. Да и книги зарубежных авторов лучше читать в оригинале, а не читать сомнительные переводы сделанные непонятно кем непонятно как.

                    И еще, по-моему, читать книги в духе «Android за 24 часа» это совсем неправильно. Если цель — стать хорошим программистом, то 24 часа недостаточно даже для того, чтобы понять даже базовые вещи.

                    Если говорить про Android, то лучший путь для изучения — подучить Java и пойти джуниором в какую-нибудь контору.
                    Для самообразования лучшие из возможных источников — developers.android.com и vogella.com (второй — набор туториалов для новичков, поддерживаемый в весьма актуальном состоянии)
                    • +1
                      Проект StartAndroid нравится мне, как человеку, который кроме миди контроллера на базе Ардуино пару лет назад и пары учебных программ на Бэйсике ничего в жизни не писал.
                      Тут книга в pdf — dl.dropboxusercontent.com/u/6197740/StartAndroid.pdf
                      Тут сайт — startandroid.ru/ru/
                      Тут канал на YouTube — www.youtube.com/user/vitaxafication/videos
                      На сайте есть форум, где всегда могут помочь новичкам. Также, отвечают на вопросы в комментариях к видеоурокам. Например, на мой вопрос ответили целым видео.
                      К тому же, существующие уроки (а их сотня) сейчас переводят в формат Andoid Studio, что очень удобно.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.