Лично я люблю префиксы для полей классов, потому что они
Помогают автодополнению — я пишу m_ и сразу же получаю весь список полей; обычно дополнение ориентируется на первую букву, которую я не всегда помню точно.
Они помогают избегать дурацких проблем с придумыванием имен для параметров в конструкторах или геттерах.
Но вообще, как пишущий на С++, скажу одно — иметь единое соглашение об именах для всего языка (как в C#, например) — это великолепно, вы просто не понимаете своего счастья! Пусть лучше будет неидеально, но зато единообразно.
На мой взгляд — вы большой молодец! Всегда приятно видеть преподавателя, который знает, чему учит, и болеет за свое дело!
Нужен промежуточный контроль успеваемости. То есть не просто того факта, что люди учатся, а того, насколько они понимают программу. Я сводил всё к выполнению одной работы и отчёту в конце семестра, из-за этого терял тех, кто что-то не уловил на середине. Это можно было понять гораздо быстрее. Кто-то спросит, какие-то вопросы всплывают в личном общении на практике, но кто-то молчит.
Я поэтому даю несколько домашек в течении семестра, с дедлайнами (прошляпил дедлайн — максимальные баллы медленно сгорают).
Так сразу пропадает соблазн отложить все на последнюю неделю, вынуждает что-то делать в течении семестра.
И по нескольким домашкам потом провожу "защиты" один на один, чтобы можно было какие-то вопросы поднять.
Так нагрузки на меня несколько больше, больше проверять приходится — но это я частично решил тестами, по крайней мере корректную работу кода вручную проверять уже не надо.
А курсовой проект предлагаю по желанию (вместо домашек) уже во втором семестре, для тех, кто ощущает себя в силах.
Я пробовал решить это предложением писать вопросы в любое время, а не во время пар, надеясь, что смогу помочь тогда, когда они реально пишут код. Но нет, это сработало только для 2-3 человек. Остальным помочь не смог.
Я в принципе стараюсь сразу донести до всех мысль — пишите вопросы в любое время, отвечу так быстро, как смогу — но первые месяца два-три все равно пишут редко. Слишком непривычно, что преподаватель отвечает.
Возможно, если создать групповой чат в телеге или дискорде каком-нибудь, будут спрашивать более охотно.
Пока пишется код, его нужно постоянно тестировать. Задача усложняется тем, что тесты нужно выполнять на реальном железе и взаимодействовать с реальным миром. Для этого был сделан удаленный тестовый стенд, который интегрируется с CI-скриптами через GitHub Workflow. При каждом коммите в прошивку она автоматически собирается и заливается в девайс, после чего выполняются тесты, результаты которых выплевываются в UART: так можно понять какие тесты завершились успешно. Пока это работает криво, но в дальнейшем так мы будем проверять все функции: принимать/отправлять радио, считывать/записывать NFC карты, передавать/принимать ИК-сигнал и т.д.
Ну да, действительно выросло, видимо. Я успел поработать с некоторым количеством странных девайсов, в т.ч. отечественных, но нигде мне не понадобились все эти DTS/RTS, я даже их названия запомнить не удосужился, если честно.
Я бы очень удивился, если бы в ответ на этот вопрос ожидали услышать все в подробностях, а не что-то вроде "красно-черное дерево — это бинарное дерево, в котором узлы условно делятся на красные и черные, и в котором всегда соблюдается некий инвариант (который я сейчас не помню), при каждой операции, благодаря чему дерево всегда сбалансировано".
Если человек отвечает что-то в этом роде, то дальше можно спросить, зачем вообще нужны деревья, зачем их балансировать, какие есть альтернативы — на мой взгляд это просто позволяет узнать, изучал ли человек алгоритмы и структуры данных вообще, а если изучал — то зубрил определения или ухватил суть.
Если ожидается точный ответ как по учебнику, то это другое дело, конечно. Но сам вопрос по мне так вполне нормальный.
А это вообще законно?! Разве между разными устройствами не будет совершенно случайной разности потенциалов, которая может сжечь все к чертям?
(Я не электронщик, но мама всегда говорила земли соединять сначала, а только потом сигнальные провода)
Будет работать или нет — это уже другой вопрос, но мне казалось, что это как неопределенное поведение — даже если сейчас работает не факт, что завтра не сгорит.
Может ли интерфейс RS-232 работает ТОЛЬКО по двум проводам: RX и TX? Тут дам ответ: Оказывается, что плохонько, на 9600, но может!!!
А теперь второй вопрос: почему?
А зачем вообще нужны все остальные провода в этом интерфейсе (в смысле, на практике зачем)? Или вы имеете в виду и без земли тоже?
Имхо студенты или школьники вполне могут этим сервисом пользоваться (хотя со своей платой безусловно веселее, но подписка на пару месяцев вполне может стоить дешевле платы).
Еще можно этот сервис использовать как уже готовый тестовый стенд.
Как и любая другая разработка софта, процесс внесения изменений в язык программирования должен быть предельно прост: пожелания пользователей (то есть нас — программистов) изучены, задача поставлена, адекватные сроки определены, извольте выполнить в срок.
Я в целом понимаю ваши страдания, но имхо вот эта позиция "я хочу — а вы извольте выполнить" допустима только в одном случае — если вы разработчикам языка/компилятора платите в какой-либо форме. Если же нет, то почему они вам что-то должны?
Можно тоже в холиваре поучаствую? :)
Лично я люблю префиксы для полей классов, потому что они
Но вообще, как пишущий на С++, скажу одно — иметь единое соглашение об именах для всего языка (как в C#, например) — это великолепно, вы просто не понимаете своего счастья! Пусть лучше будет неидеально, но зато единообразно.
На мой взгляд — вы большой молодец! Всегда приятно видеть преподавателя, который знает, чему учит, и болеет за свое дело!
Я поэтому даю несколько домашек в течении семестра, с дедлайнами (прошляпил дедлайн — максимальные баллы медленно сгорают).
Так сразу пропадает соблазн отложить все на последнюю неделю, вынуждает что-то делать в течении семестра.
И по нескольким домашкам потом провожу "защиты" один на один, чтобы можно было какие-то вопросы поднять.
Так нагрузки на меня несколько больше, больше проверять приходится — но это я частично решил тестами, по крайней мере корректную работу кода вручную проверять уже не надо.
А курсовой проект предлагаю по желанию (вместо домашек) уже во втором семестре, для тех, кто ощущает себя в силах.
Я в принципе стараюсь сразу донести до всех мысль — пишите вопросы в любое время, отвечу так быстро, как смогу — но первые месяца два-три все равно пишут редко. Слишком непривычно, что преподаватель отвечает.
Возможно, если создать групповой чат в телеге или дискорде каком-нибудь, будут спрашивать более охотно.
За вот это — отдельный плюс в карму!
Резонно. А для целых битовые операции есть?
У BOOL нет xor'a?
Ну да, действительно выросло, видимо. Я успел поработать с некоторым количеством странных девайсов, в т.ч. отечественных, но нигде мне не понадобились все эти DTS/RTS, я даже их названия запомнить не удосужился, если честно.
Эх, а я велосипедный шелл-скрипт городил :) Впрочем, он получился довольно коротким.
Вообще это был сарказм :) Так-то я знаю, зачем они нужны, просто ни разу не сталкивался с потребностью в них — и не знаю никого, кто сталкивался бы.
Мой опыт показывает, что можно слегка отходить от нужных 60 Ом, если линии короткие и/или бодрейт низкий.
Я бы очень удивился, если бы в ответ на этот вопрос ожидали услышать все в подробностях, а не что-то вроде "красно-черное дерево — это бинарное дерево, в котором узлы условно делятся на красные и черные, и в котором всегда соблюдается некий инвариант (который я сейчас не помню), при каждой операции, благодаря чему дерево всегда сбалансировано".
Если человек отвечает что-то в этом роде, то дальше можно спросить, зачем вообще нужны деревья, зачем их балансировать, какие есть альтернативы — на мой взгляд это просто позволяет узнать, изучал ли человек алгоритмы и структуры данных вообще, а если изучал — то зубрил определения или ухватил суть.
Если ожидается точный ответ как по учебнику, то это другое дело, конечно. Но сам вопрос по мне так вполне нормальный.
Просто я этот вопрос ошибочно интерпретировал как "можно ли так делать", а не "может ли он работать, если вдруг так сделать"; спасибо за уточнение.
А, ну если земля была, а потом оборвалась, то это другой разговор.
А это вообще законно?! Разве между разными устройствами не будет совершенно случайной разности потенциалов, которая может сжечь все к чертям?
(Я не электронщик, но мама всегда говорила земли соединять сначала, а только потом сигнальные провода)
Будет работать или нет — это уже другой вопрос, но мне казалось, что это как неопределенное поведение — даже если сейчас работает не факт, что завтра не сгорит.
Ну, если на краснодеревщика собеседование, то может быть.
А зачем вообще нужны все остальные провода в этом интерфейсе (в смысле, на практике зачем)? Или вы имеете в виду и без земли тоже?
Наверное "красно-черное"? Или бывают и просто красные деревья?
Здорово, спасибо!
Имхо студенты или школьники вполне могут этим сервисом пользоваться (хотя со своей платой безусловно веселее, но подписка на пару месяцев вполне может стоить дешевле платы).
Еще можно этот сервис использовать как уже готовый тестовый стенд.
Интересный сервис у вас, однако! Не планируется ли удаленная отладка (в смысле, проброс SWD/JTAG по интернету)?
Я в целом понимаю ваши страдания, но имхо вот эта позиция "я хочу — а вы извольте выполнить" допустима только в одном случае — если вы разработчикам языка/компилятора платите в какой-либо форме. Если же нет, то почему они вам что-то должны?