1.94K subscribers
3.49K photos
136 videos
15 files
3.72K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Насчёт формата списка дубликатов: так как вы всё равно парсите его самостоятельно, имеет смысл добавить туда поддержку комментариев. Это позволяет писать, почему дубликаты ещё не убраны, и при необходимости записывать ссылки на блокеры. Также это позволяет сделать список самодокументируемым: можно записать в начале, для чего этот список нужен, какой у него формат, как запустить проверку дубликатов и как при необходимости вносить исправления (можно даже немного угореть по сопровождаемости и требовать комментарий с объяснением у каждой зависимости). Лично я у себя записываю список в наиболее, наверное, простом виде — по имени на строку — поэтому я сделал комментариями строки, которые начинаются с #.

И ещё небольшой момент. В основном репозитории Rust в корне есть инструмент x.py, который позволяет коротко выполнять важные в контексте разработки задачи — в частности, запускать тесты. В репозитории Rust есть куча UI тестов, которые проверяют, что компилятор выдаёт на проблемы с кодом диагностики в ожидаемом формате. Создавать файлы с ожидаемым форматом вручную неудобно — особенно с учётом того, что формат для ожидаемого вывода абстрагируется от конкретных номеров строк — поэтому у x.py test есть опция --bless, которая перезаписывает ожидаемый вывод указанного теста реальным выводом компилятора. Эта опция также пригождается, когда вносится изменение в код для вывода диагностик — это позволяет избежать внесения изменений в ожидаемый вывод вручную.

К чему я это всё? Имеет смысл добавить в данный код функциональность для безусловного перезаписывания списка. Разумеется, она должна быть немного более сложной, чем просто запись поверх, потому что иначе она будет перетирать комментарии. Лично я для своего формата поступил следующим образом:

Функция получает на вход набор новых дубликатов и набор более-не-дубликатов. Сначала я считываю список целиком и разбиваю его на строки. Затем я прохожу по нему и для строк с именами зависимостей добавляю номер строки в набор удаляемых строк, если имя зависимости присутствует в наборе более-не-дубликатов. После этого я снова открываю файл с .truncate(true), записываю туда построчно старое содержимое, пропуская строки с номерами из числа удаляемых, и докидываю туда построчно список новых дубликатов.

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

И последний момент: нужно как-то прокидывать информацию о том, что тест должен обновить список. Использование аргументов командной строки не выглядит хорошей (и удобной) идеей, поэтому мой код обновляет список, если выставлена определённая переменная окружения. Имя этой переменной, разумеется, есть в комментариях в списке дубликатов.
👍43🔥2
😒🤚 Избавляться от кругов под глазами консилером
😏👉 Избавляться от кругов под глазами хорошим сном
👏16🥰4🤔2
Купил себе майку (местного производства), а она настолько длинная, что мне почти годится как мини-платье.

И это типа размер S.
🌚8👎1
В женской консультации почему-то принимает стоматолог. Vagina dentata?
пятничное #vercheniye_academy
👍4🤡3🔥1
Forwarded from Nero's (Nero-sama 🇷🇺)
Чел, который ставит клоунов такой типа
🤡48👍1
🙏11🤡41👍1👎1🥴1
#meme про томбоев и фембоев
Forwarded from Is This an ADHD Thing?
🤔18😁7🌚31
#prog #haskell #article

Unique sample drawing & searches with List and StateT --- "Send more money"

Или про то, как интерпретация списка как недетерминированного значения позволяет очень ясно записать решение задачи с ограничениями и при этом задействовать ранний бектрекинг.
❤‍🔥5🔥1🤡1
Прислал подписчик
😍20😱6🤡4👍1🔥1🤔1🍌1
Папищеки, а посоветуйте игры, пожалуйста. Интересуют игры с упором на сюжет.
🤡6
This media is not supported in your browser
VIEW IN TELEGRAM
Initial states:
m: 6.097 x: 7.280 y: 2.371 vx: 0.087 vy: -0.402
m: 3.707 x: -7.427 y: 8.735 vx: 0.188 vy: -0.131
m: 5.375 x: 1.043 y: 7.741 vx: -0.409 vy: 0.267
Interest-ness score: 56
🤡7🥰6🤯3👍1🔥1
Forwarded from Neural Machine
Когда дело касается дел, я не делаю
14