Михаил Емельянов @sepulkary
Бэкенд программист
Information
- Rating
- 1,947-th
- Location
- Уфа, Башкортостан(Башкирия), Россия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Embedded Software Engineer
Lead
Python
C
C#
Бэкенд программист
У BitArray 1 бит на 1 bool.
Насколько я понимаю, это не "A Case against the GO TO Statement", потому что "A Case..." - работа 1968 года, а полное доказательство того, что абсолютно любую программу можно написать, используя только ветвление, цикл и последовательное исполнение было сделано Дейкстрой в 70-х. Может быть, в книге Дейкстры "Структурное программирование" есть ссылка на более конкретный документ.
Так то в нормальной организации :) А если менеджер подсчитывает метрики, то микрокоммиты - самое то.
Очень даже активно пользовался :) Писал ПО для микроконтроллеров семейств PIC и i51 на чистом ASM и на С c ассемблерными вставками.
Я понимаю, о чем вы, но - Дейкстра доказал (именно доказал, с точки зрения чистой математики), что goto не нужен.
Да вроде Дейкстра еще во времена динозавров доказал ненужность goto :) На мой взгляд, если в код удачно ложится goto, код лучше переписать.
На мой взгляд, самая большая проблема вашего кода, это то, что вы итерационно вычисляете возвращаемое значение, а его нужно конструировать. Ведь у вас есть абсолютно вся информация о возвращаемом значении, тем не менее, вы маленькими шагами подбираетесь к нему "сбоку".
Попробуйте сгенерить ответ только из миллисекунд, без итераций, получив его одним блоком кода, без циклов. Потом попробуйте добавить к ответу секунды и т. д., может быть, в финале получится сконструировать весь ответ целиком. Для проверки добавьте к задачке микросекунды - должен добавиться еще один блок кода, без еще одного вложенного if'а.
И, чтобы два раза не вставать, как говорится; вопрос к изначальной постановке задачи - не очень понимаю, зачем здесь конструктор, вижу место только для нескольких статических методов, которые принимают на вход время и строку расписания, отдавая время, удовлетворяющее условию. static не всегда хорошо, но вроде здесь вполне к месту, работаем прямо с чистыми функциями.
У вас два большущих метода, отличающихся только знаком:
В общем-то, это сразу отказ на миддла как минимум, на джуна - 50/50, imho...
Всё-таки вашего, личного, в статье маловато, а общего, безличного многовато.
На мой взгляд, начинать такие статьи нужно с обязательного вступления: "За последний [год] я [похудел на 40 кг] [вышел на второй раунд финасирования] [выучил Хаскель] [сменил пол] [выучил Хаскель и сменил пол]. Рассказываю, как:..."
Если списки дел стали более аккуратными, а осознание перспектив более четким, но обязательное вступление всё никак не вытанцовывается, т. к. результата пока нет - то это так себе результат, надо работать дальше...
По информации «Известий» "новый сервис может существенно снизить порог входа в программирование для новых специалистов и уменьшить тем самым кадровый голод в отрасли" и "Copilot и подобные сервисы способствуют снижению порога входа в разработку".
Ну, это было бы супер круто, реальный прорыв, но я что-то сомневаюсь. Скорее, Copilot будет еще одним помощником, вроде IntelliSense или Code Lens, не более того.
Вот сейчас вы немного перегнули палку, не надо так. Пока не доказано обратное, в публичной дискуссии на технические темы спрашивающий, даже с подковыркой, считается не менее квалифицированным специалистом, чем автор материала. Почему бы вам не ответить в стиле "Мы не использовали аппаратные ускорители...", а потом выдохнуть и продолжить "... потому что мы собирались использовать их позже"? Фидбек, даже негативный, всё равно фидбек.
Информации довольно мало, но процесс в целом выглядит так, как будто его планировали и осуществляли относительно малоквалифицированные (по крайней мере в этой конкретной области) люди. Складывается ощущение, что члены команды подраздували трудности и спотыкались на самых очевидных местах.
Прямо сейчас я рисую схему похожего устройства (насколько можно понять ваши замыслы из туманных намеков) на базе одного из процессоров семейства NXP Layerscape, в разработке "железа" там нет ничего такого уберсложного, чего не осилила бы обычная команда схемотехник + конструктор печатных плат + конструктор-механик. Все доки свободно лежат на сайте NXP и доступны сразу после регистрации, демо-борды продаются по себестоимости (~ $4k, если не ошибаюсь), техподдержка отвечает.
Это достаточно рядовая инженерная проблема.
Фигня какая-то. У каждого производителя есть список технологических требований (пример для "Резонита"), цифры из которого вводятся в ваш САПР. После этого отгрузить плату, которую "возвращают технологи", становится практически невозможно.
Не упирайте так на git и CI, здесь это не главное. Выхлоп инженера - здоровенный бинарь (~5 Мбайт схема, ~30 Мбайт плата), относитесь спокойно к тому, что не видите толкового diff'а.
Просто найдите электронщика, у которого есть опыт в такого рода задачах, заплатите ему зарплату обычного программиста-миддла и всё у вас пойдет гораздо более живенько и предсказуемо. Сейчас же вы видите магию там, где имеются обычные инженерные задачи.
Честно говоря, хотел купить эту книгу, но теперь передумал. Похоже, как это часто бывает в современной околопсихологической литературе, 1 % здравого смысла обрамлен в оправу из 99 % общих рассуждений и отсылок к историческим прецедентам.
Это не "ошибка выжившего". Это "стеклянный потолок".
На мой взгляд, Ален Карр в первую очередь бизнесмен, а не психотерапевт. Он написал несколько книг на разные темы, но взлетела только "Легкий способ бросить курить", которую он и отжал по полной.
Решал похожую проблему в 2010. Довольно быстро нашёл предприятие (кажется, в Златоусте), которое вырезало из 80 мм алюминиевой плиты нужный корпус, и по цене в три раза меньшей, чем наш предыдущий смежник из Калуги.