Pull to refresh
0

Пользователь

Send message
Увы, и Ваша рекомендация не панацея. Частенько приходится делать как переход от макроса к функции, так и наоборот. Это же не С++ с его шаблонами… Простой пример
#define max(x,y) ((x)>(y))?(x):(y)
В Си это не раз выручает при сравнении чисел любых типов, в то время как функций пришлось бы писать гораздо больше и с не такими лаконичными именами
Или в «малых» встраиваемых системах: работу с портом ввода-вывода выгоднее делать макросом в силу большей скорости исполнения кода…
По-моему, каждый программист Си в своем развитии обязательно проходит через этап, когда зуд в каких-то частях тела (то ли мозга, то ли пятой точки) становится нестерпимым и побуждает сесть и написать очередной баян про то, как следует писать программы на Си.

Мне не нравится идея писать макросы-функции капсом. Я рассуждаю логически (логика и программирование — это же стороны одной монеты, не так ли?): макрос-функция скрывает в себе некое законченное действие, т.е. по смыслу неотличим от функции. Так зачем выделять внешним видом его из ряда функций? Только для того, чтобы знать, что это макрос? И что дает это знание? Рано или поздно может возникнуть ситуация, когда макрос на самом деле придется заменить на функцию, и тогда придется править тонны кода, меняя капс-идентификатор на некапс-идентификатор…
С моей т.з. логично и правильно отличать идентификаторы переменных от констант, для чего и служит капс-выделение. Отличать функционально завешенный блок кода, решающий часто повторяющуюся или логически обособленную задачу, оформленный макросом или функцией смысла не вижу.

Что касается других «рекомендаций», то увы и ах, при работе с встраиваемыми системами некоторые «правильные» принципы не работают: «красиво завершиться, напоследок сказав, что именно пошло не по плану» программа попросту не может… Например, популярный нынче квадрокоптер: в случае ошибки «красиво завершиться» — это значит, перед падением на асфальт сделать мертвую петлю? Или осколки разбросать в виде кода ошибки? Во многом количестве встраиваемых систем НЕТ ОС, которая могла бы воспользоваться кодами ошибок. И так или иначе приходится писать программы, умело игнорирующие ошибки, т.е. допускающие деление на ноль без видимых для пользователя последствий.
Хотя сам принцип -да, разумен. Но не абсолютен.

И, таки-да, автор сам себе противоречит, выделяя функции-обертки капсом…
Если память мне не изменяет, протокол I2C допускает торможение обмена путем принудительного придавливания SCL в ноль… Не уверен, что все «мастеры» это поддерживают, но по идее попробовать можно было бы: прижали SCL на время передачи в UART, потом отпустили и ловим следующий фрейм/байт.
И все люди, восхищающиеся фейсбуком и оправдывающие Большого брата Цукерберга, одновременно возмущаются, что какое-то правительство желает больше знать о своих гражданах! И никакого тебе когнитивного диссонанса. А причина одна: правительство сует клизму насильно, а Цукерберг в то же место добровольно и с наркотиком.
Как известно, путем стимуляции центра удовольствия можно легко добиться самоуничтожения организма.

Смешно, ей-богу!
Меня больше удивила фраза про то, что острые элементы явились следствием многомиллионнолетнего выветривания… Мои познания в этой области, правда, ограничены научно-популярными книжками, прочитанными в 5-6 классе, но я и до сих пор уверен, что выветривание в течение многих миллионов лет должно привести к сглаживанию всех острых углов, но никак не к затачиванию. Песчаный ветер, что, как я понимаю, привычное явление для Марса, должен скруглить в голыши все выступающие над поверхностью почвы камни за миллионы лет.
Что-то тут не так…
Все смешалось в доме Облонских ©
После того, как глава Правительства дал указание считать зарплату и совокупный доход одним и тем же (а иначе как вы объясните тот факт, что «повышением зарплаты», например, у воспитателей детских садов, называется увольнение нянечек и перекладывание их обязанностей на воспитателей с добавкой 70% зарплаты няньки, ну и еще 1,5 ставки — за счет сокращения других воспитателей), я тоже не делаю разницы между чистой зарплатой и надбавками/премиями/бонусами сверх оклада.
Зарегистрировался на FL.ru — не знаю, как я заработаю, но FL зарабатывает на фрилансерах не стесняясь: вы можете оставить свою заявку, но её работодатель не увидит, потому что вы не купили себе ПРО-аккаунт!
Слабаки ваши работодатели! 15 минут каждый час — это 25% рабочего времени. Зарплату на 25% урезали бы, да и санпиньтесь хоть до одури.
Или как у нас: в положенное законом время для отдыха глаз взял грабельки или метёлку и на уборку территории: глазки отдохнут, а ручки наоборот — сплошная польза для организма! Составлено расписание «перерывов для глаз» по отделам — на улице чистота, все здоровые и бодрые… В дождь — вы не поверите! все просто как угорелые пашут, без всяких перерывов, и никакого стремления жаловаться!
Безусловный основной доход… прогрессивный налог… чудесная жизнь без работы… сфера услуг…
Наивность ваша зашкаливает. Если бы целью бизнеса было обеспечение всего вышеперечисленного, уже сейчас на Земле не было бы голодных: пищи выбрасывается на свалку больше, чем требуется для прокорма всех голодающих. Однако голод не искореняется — с чего вдруг в будущем нищих и безработных станут кормить нахаляву?! Никто просто так кормить не будет, счастливые безработные в будущем будут деградировать от голода.
Квалифицированный специалист, будучи замещен роботом, выталкивается на рынок труда уже в качестве неквалифицированного безработного. Чем планируют занять миллиард китайцев после внедрения роботов? Лозунги «переквалифицироваться» не принимаю — при наступлении автоматизации ни одна отрасль хозяйства не нуждается в таком огромном количестве работников-людей. 100 бухгалтеров 20 лет назад сейчас заменены 10 человеками и 10 компьютерами.

Я не понимаю, где в этом техномире роботов место человеку? Согласен, горстка «головастиков» будет при деле, а остальные 6 миллиардов где будут находить себе средства на пропитание? Исчезновение фирмы == толпа безработных… Не бизнесменам надо волноваться на счет неготовности к промреволюции, а народу. Хотя голодный народ и бизнесменам может слегка перья пощипать, так что я не прав — волноваться надо всем.

Или нас ждет мир, где все работают поварами и официантами и каждый повар или официант кормит других поваров и официантов?
Возможно, моё мнение несущественно, т.к. я совсем не профессиональный программист, но все равно выскажусь.
Я учился на книжках Гради Буча и т.п. древностях, и у меня сложилось представление об ООП принципиально отличающееся от того, что под ООП понимают сейчас. Мне кажется, мир перевернулся… Для меня объекты (сиречь классы) — это отражение сущностей РЕАЛЬНОГО мира в ВИРТУАЛЬНУЮ область. Иными словами для меня выглядит логичной классификация вроде: РЫБЫ-ПТИЦЫ-ЖИВОТНЫЕ, РЫБЫ: КАРАСЬ, ПТИЦЫ: УТКА; ПТИЦЫ: УТКА: ЛЕТАТЬ, ПТИЦЫ: УТКА: ПЛАВАТЬ, РЫБЫ: КАРАСЬ: ПЛАВАТЬ, РЫБЫ: ЛЕТУЧАЯ_РЫБА: ЛЕТАТЬ и т.п.
Но читая хабр я убеждаюсь, что сейчас принято строить ОО-модели совсем иначе — от ДЕЙСТВИЯ или от ЦЕЛИ (например). То есть вполне допустимой считается объектная модель типа ЛЕТАЛКИ-ХОДИЛКИ-ПЛАВАЛКИ, ЛЕТАЛКИ: УТКА, ЛЕТАЛКИ: ЛЕТУЧАЯ_РЫБА, ХОДИЛКИ: ВОЛК, ХОДИЛКИ: УТКА…
Я понимаю, что виртуальный мир программирования не обязан подчиняться закономерностям реального мира, но ведь и тем и другим заправляет человек, а уж ему-то изначально ближе классическая структуризация объектов реального мира! Все-таки видовая классификация устроена иначе… Класс бытовых приборов включает в себя телевизор и депилятор, и классификация их по иным признакам (напр., развлекательные приборы или средства удаления волос) по определению вторична, когда ее ставят на первое место — это выворачивание реальности наизнанку…

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

Откуда пошло это массовое увлечение переиначивание привычного в непривычное? Неужели так легче жить программисту, находясь между реальным и выдуманным и занимаясь сшиванием одного с другим белыми нитками странных интерфейсов?!
Я конечно, понимаю: зомбоящик и все такое… Но сегодня вот сказали, что очередная инфа в Викиликс говорит, что спецслужбы США с участием британских и немецких вроде как сами активно ломают всё, что к интернету подключено (от айфонов до смарт-тв) и следят, следят, следят… и пароли перехватывают, и шифрование ломают…

И, главное, блин, развитые демократии… честные сенаторы… незапятнанные президенты… И ни Мизулиных, ни Яровых ни даже Милоновых нету — как так-то?!

А минуса мне. Не нравится правда? Предпочитаете жить в выдуманном мире белых единорогов, которые кушают радугу и какают бабочками? Ну-ну…
Вот ведь оно как: Яровой нет, Роскомнадзора нет, конституция блюдется аж до рези в глазах, а слежка за пользователями есть. Причем тайная слежка. Открытие, да?

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

Пора расслабиться и не рефлексировать по поводу большого брата — он был, есть и будет. И большинство ИТ-специалистов прямо или косвенно работают на него. Это факт.

Мира всем и спокойствия.
Т.е. прерывания должны быть разрешены максимально возможное время. Что убьет тайминг в bitbang.
Для bitbang-реализации 1-wire прерывания надо запрещать где-то на 10-15 микросекунд в начале таймслота. Не представляю, как это может помешать высокоуровневым протоколам.

И этот высокоуровневый контроллер не должен ждать ~750ms результатов измерений, ему надо дать ответ сразу. Ну пусть данные и будут устаревшими на те же самые 750ms, но они будут доступны немедленно.
Это речь сейчас о датчиках типа DS18x20? Задержка в 0,75 с никак не связана с bitbang-ом или иным способом реализации интерфейса 1-wire, это более высокий уровень абстракции, так что в данном контексте не в тему вообще.
Я правильно понял, что вы предлагаете задействовать таймер, 2 прерывания, три линии ввода-вывода микроконтроллера, простыню текста в программе и все ради того, чтобы обеспечить какую-то асинхронность?!
По-моему, обмен не выгодный. Наибольшая ценность в AVR — это как раз порты ввода-вывода, и тут у вас проигрыш троекратный. В большинстве популярных микроконтроллеров таймеров тоже не изобилие, и выделять практически монопольно 16-битный таймер (который чаще всего один, редко два) под не первичной важности задачу — это, с моей точки зрения, тоже не совсем верный подход.

Возможно, я не вижу преимуществ — так и расскажите о них! То, что вы в восторге от Protothread, не аргумент: преимущества должны быть объективными.

В моей практике было впихивание протокола 1-wire в attiny13. Сумеете при вашем подходе повторить (при том, что ICP и Phase Correct PWM вообще отсутствуют в attiny13)?
Настоящая свобода в том и заключается, что всегда можно изменить правила игры, взывая к «гражданскому обществу». Свободный человек — он свободен подгонять правила игры под свои интересы, а подчиняться правилам (особенно когда проиграл) — это удел рабов. По-моему, это очевидно.
Самое главное, что меня раздражает, и думаю, я не одинок в этом, это безусловная уверенность продаванов (а, извините, дизайнеры, идущие у них на поводу или, наоборот, ведущие их — не важно, — этим страдают) в том, что они лучше меня, покупателя, знают, что именно мне надо. И в огромном количестве случаев просто лишают меня возможности выбрать самому ту информацию, последовательность знакомства с товаром и т.п.

Все, что сказано в той статье, нацелено именно на это — незаметно лишить посетителя сайта возможности СДЕЛАТЬ НЕ ТАК, КАК НАДО. Кнопки, притягивающие взгляд, текст, вызывающий желание кликнуть, картинки/палитры и т.п. изыски — всё направлено именно на подавление (мягкое и ненавязчивое) воли покупателя. Знаменитая воронка — это разве не манипулирование свободой выбора?

Все так хотят побыстрее получить «конверсию», что забывают об иконном праве покупателя размышлять над предложением. И это бесит везде, а особенно, когда читаешь это на [ранее] уважаемом ресурсе.
Было бы любопытно ознакомиться с исследованиями по поводу того, сколько именно людей нажимает на кнопку «Купить тур» просто увидев его цену, и не ознакомившись детально и скрупулезно со всеми тонкостями и нюансами этого тура? Ну и про остальные клики тоже.

Создается полное ощущение, что продаются именно клики на кнопках — чем их больше и чем быстрее ои произойдут, тем лучше. А полезно ли это посетителю сайта — никого не волнует. Странная логика.

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

Наше мнение никого не волнует? Дизайнеры сами покупают то, что помогают продвигать? Тогда успехов «в конверсии»!
На вашем поле мне не выиграть…
Каждый минус лишь подчеркивает озабоченность аудитории. Нормальные люди при слове «порно» в ажиотацию не впадают. Успехов, не забывайте руку менять.
Почему тема порно так резонирует с IT-отраслью? Не отсюда ли произрастает устоявшийся миф про прыщавого «задрота-хакера», который за неимением собственных ценных для женского пола достоинств, находит себе утешение в разглядывании чужих?

Information

Rating
Does not participate
Registered
Activity