Когда был на новый год в Ростове, там братик меня свозил в каначую станицу Старочеркасск. Я там увидел эту папаху и привез в Канаду, буду ходить в ней на хоккейные игры, когда сборная России будет играть в Торонто. А она тут регулярно играет, раз в два - три года тут проводят молодежные чемпионаты мира.
На прошлой неделе с женой были на приеме у дежурного врача и там все использовали Surface Pro. Такое не часто встречается даже в Канаде. Я на много чаще сталкиваюсь с Windows 7, особенно в больших госпиталях, а тут была небольшая клиника.
Медсестра и доктор использовали не только сам компьютер Microsoft Surface Pro, но ещё и ручку Microsoft Pen. Лично я пользуюсь подобным устройством уже полтора года и для меня перо - просто прикольный аксессуар, который я достаю иногда для прикола. Для врачей же ручка действительно полезное устройство, они по идее могут расписывался на электронных версиях рецептов в электронном виде и потом печатать их.
Одной из причин обновится на новый iPad считают карандаш Apple. Реально? Карандаш, который стоит 100 долларов будет причиной перейти на новый планшет?
Да, новый планшет iPad теперь стоит дешевле, у него более мощный процессор и вот это для меня серьезные основания купить его.
А вот поддержка карандаша, который стоит 100 долларов или в рублях почти 7 тысяч рублей - это глупость. Я вообще считаю карандаш Apple самым бесполезным и идиотским устройством, которое когда-либо создавали в Apple. За эти деньги можно купить еще один планшет, правда на Андроиде, но вполне качественный.
Классы должны решать одну простую задачу. Если класс решает больше одной задач, то класс необходимо разбить на два или даже более. Это правило можно встретить в книгах и статьях по паттернам или книгах о хорошем тоне в программировании.
Но не смотря на это я иногда встречаю классы, в которых десятки методов, которые делают совершенно разные вещи.
Если говорить о контроллерах в Web программировании, то тут вполне очевидно, что на один класс контроллера может быть много методов, которые будут реагировать на запросы клиентов.
Но если класс направлен на реализацию какой-то логики, то тут просто необходимо выполнять только одну задачу и не может быть десятков методов. Если у вас в классе даже 10 методов, это уже серьезный вопрос - а не выполняет ли класс больше одной задачи? А действительно эти все методы должны принадлежать одному классу, или перед нами два разных класса?
У меня уже давно собрано большое количество запчастей, достаточно, чтобы собрать свою биби на Arduino, и в ближайшее время у меня должно появится чуть больше свободного времени и я надеюсь, займусь снова машиной.
У меня уже собран скелет, поставлены колеса и двигатели, припаяны провода и даже подключена плата, которая используется для управления двигателями. Но все это я делаю методом научного тыка, а хочется не просто тыкать, а понимать, зачем это делается. Я в электроннике не особо разбираюсь.
И вот я купил через интернет книжу "Мобильные роботы на базе Arduino" в PDF версии и уже начал читать. На мой вкус слишком академический язык. Я такого академического не встречал уже давно. Для примера:
Компьютерная программа - это четко формализованный план, состоящий из команд контроллера (система принятия решений)
О как сказано, я бы никогда так не смог. Я предпочитаю более простой язык. Но иногда полезно почитать и академический, поэтому я не против и с удовольствием читаю. Пока. После долгого начала с начальными вещами появляется интересная информация.
В книге зачем-то еще рассказывается, какие бывают батарейки, какие бывают аккумуляторы и так далее, но это я пропустил. Читаю дальше и может быть скоро ты увидишь на блоге результат в виде собранной мной машины.
Мой мартовский отпуск в Орландо
Из моего личного опыта могу сказать, что когда код написан хорошо, для него несложно писать unit тесты и на их написание уходит минимальное время.
Если код плохо написан, плохо спроектирован, то написание тестов становится серьезной проблемой, вызывает только разочарования и этим не хочется заниматься.
Далеко не все имеет смысл тестировать и бывают случаи, когда отсутствие тестов допустимо. Но в большом проекте, когда проект состоит из тысяч строк кода, отсутствие unit тестов подозрительно и могут указывать на серьезные проблемы в коде.
Apple уже не первый раз представляет новые планшеты в конце зимы - начале весны. Я точно не помню даты, но примерно в это время. И вот сегодня была презентация, показали новый ростов iPad.
И ЭТО ВСЕ?
Сказала жена депутат после бурной ночи и я после презентации. Я ожидал хоть чуть большее, может улучшение дизайна. А так поставили новый процессор, который уже в принципе существует на рынке какое-то время, добавили поддержку карандаша Apple, который существует уже давно, и выпустили это за доллары, которые уже существуют везде. Просто чуть уменьшили цену, особенно для школ.
Очередной признак плохого кода - отсутствие свойств у класса. Опять же, это только признак, а не гарантия плохого кода. Бывает множество случаев, когда классы могут быть без свойств. Но если у вас в проекте большинство классов без свойств - это серьезный сигнал остановится и подумать, а все ли верно?
Если честно, классы без состояний и свойств вызывают у меня очень серьезное подозрение. Я имею в виду вообще без свойств. Если их нет, то это уже получается что-то без состояний, в чем бывает необходимость, но очень редко. Просто посмотреть на классы в составе .NET, как часто мы наталкиваемся на классы со свойствами.
Если в классе можно все методы сделать статичными, и функционал не поменяется, то почему они не статичные?
Когда телеграмм только появился, то я не стал его ставить, потому что судя по первой информации, это был просто очередной мессенджер. Для общения с друзьями у меня уже есть социальные сети и всякие вайберы с вотсапами на телефоне. Для родных или друзей, которые пользуются скайпом у меня есть Skype. Для читателей есть сайт, твитер и опять же социальная сети в виде Facebook. В общем, проблем с общением у меня нет, чтобы ставить очередную говорился.
Я не нарушаю законы страны, в которой живу, поэтому мне скрывать нечего и все обещания защищать мою переписку супер шифрованием мне не интересны. Поэтому в функциях Телеграмма меня интересовало ровным счетом - ничего.