На Stepik информация агрегирована так: курс состоит из модулей, модули из уроков, уроки из шагов, каждый шаг - это текст или тест (вопрос или задача на программирование
( Read more... )
М-м... На сколько я ничего не понимаю, явные ключи делаются для того, чтобы можно было что-то указать явно там, где возможна двусмысленность ИЛИ просто для лучшей читаемости. А вот требовать обязательно задавать ключ просто чтобы было - это плохо и негодно.
А еще люди придумали инклуды, аласы и оверрайды - это чтобы для уменьшения монстрообразности разных конструкций.
(Плохая новость состоит в том, что некоторые использую все упомянутое как раз для того, чтобы было как можно монстрообразнее и запутаннее. "А это чтобы Вы не расслаблялись и вообще эксплуатационщик Должнен Страдать!")
Я бы явно указал в каждом файле, для чего он, ну и принял бы, что файл урока имеет приоритет (то есть, как раз оверрайд всего остального). Так что указываем подряд сколько надо файлов, и все. Ну и ключи оставляем именно чтобы не запутаться, но не требуем.
Можно оставить предупреждения, если указано несколько файлов одного типа. "Будут использованы значения из xxx" - собственно, сам так и делаю.
Не поняла насчет нескольких файлов. Указываем или файл урока, или файл TOC. Оба сразу указывать бессмысленно. Если файл урока и конфиг, или ТОС и конфиг, то как различить, какой из них конфиг, а какой нет. То есть можно открыть и поразбирать структуру, но точно надо делать именно так?
А что именно внутри файла - указать прямо в его начале (если бы комментарии непонятно для с какой целью не терлись, то тупо в комментарии, а так - просто отдельный id).
our_wonderful_utilite [ [--key] value ] [ [--key] file ]
Комментарии в yaml/json и текстовых конфигах, если такие есть. Это я в общем виде рассматриваю. Там, где что-то эзотерическое - понятно, что думать надо.
По формату командной строки - файл/файлы всегда то, что не имеет перед собой ключа, требующего значение или после ключа, явно говорящего, что это файл какого-то типа. Если без ключа, то тип файла берем "по смыслу".
Блин, я бы показал, но оно слегка "не для свободного доступа". Хотя внутри и нет ничего этакого, но узнаваемо. Ну так-то банальная реализация вообще-то. Последовательно заполняем внутренню табличку опций, и в процессе либо по итогу остается что-то лишнее, с которым уже всё ясно, что оно такое.
Ну да, ну да. Всё свое все непременно должны торжественно слить в унитаз и 10 лет лесоповала за неследование Указаниям Гуру (который появился непонятно откуд, непонятно как и которому все должны по жизни).
Есть? Работает? Используем. А Гуры идут туда, откуда взялись.
Очевидно, что если в первой же строке нет нашего key: value, то это что-то эзотерическое.
(Впрочем, я тут недавно и из шифрованных сертификатов даты/владельца доставал. Ибо утомило "У миня ни работаит с сертификатом, протухшим год назад на уволившегося 2 года назад сотрудника!").
Скажем так: во всех моих человекочитаемых файлах (независимо от того, чем оно будет читаться еще) с некоторого момента присутствует не позднее чем третьей строкой "# version: yyyy-mm-dd". По причинам, которые вслух не произнесть (а если произнесть, то можно на долго сесть), но в общем присутствует.
Исключение - в некоторых не "#", а "--" или "
Так что если бы мне понадобилось в одном блоке кода использовать файлы нескольких разных форматов, я бы добавил следующей как раз идентификатор формата.
В markdown есть несколько извращённый способ писать комментарии в конец: https://stackoverflow.com/a/32190021, а в последнюю строку заглянуть вроде не сильно сложнее, чем в первую
М-м... На сколько я ничего не понимаю, явные ключи делаются для того, чтобы можно было что-то указать явно там, где возможна двусмысленность ИЛИ просто для лучшей читаемости. А вот требовать обязательно задавать ключ просто чтобы было - это плохо и негодно.
А еще люди придумали инклуды, аласы и оверрайды - это чтобы для уменьшения монстрообразности разных конструкций.
(Плохая новость состоит в том, что некоторые использую все упомянутое как раз для того, чтобы было как можно монстрообразнее и запутаннее. "А это чтобы Вы не расслаблялись и вообще эксплуатационщик Должнен Страдать!")
Reply
Reply
Я бы явно указал в каждом файле, для чего он, ну и принял бы, что файл урока имеет приоритет (то есть, как раз оверрайд всего остального). Так что указываем подряд сколько надо файлов, и все. Ну и ключи оставляем именно чтобы не запутаться, но не требуем.
Можно оставить предупреждения, если указано несколько файлов одного типа. "Будут использованы значения из xxx" - собственно, сам так и делаю.
Reply
Указываем или файл урока, или файл TOC. Оба сразу указывать бессмысленно.
Если файл урока и конфиг, или ТОС и конфиг, то как различить, какой из них конфиг, а какой нет. То есть можно открыть и поразбирать структуру, но точно надо делать именно так?
Reply
Или так, или доп. параметром командной строки указывать, конфиг это или не конфиг.
Reply
Reply
Если несколько не нужно, то все еще проще.
А что именно внутри файла - указать прямо в его начале (если бы комментарии непонятно для с какой целью не терлись, то тупо в комментарии, а так - просто отдельный id).
our_wonderful_utilite [ [--key] value ] [ [--key] file ]
Reply
То есть явно сказать, что --toc файл.yaml или --file lesson.md, при чем ключи взаимоисключающие?
Reply
Комментарии в yaml/json и текстовых конфигах, если такие есть. Это я в общем виде рассматриваю. Там, где что-то эзотерическое - понятно, что думать надо.
По формату командной строки - файл/файлы всегда то, что не имеет перед собой ключа, требующего значение или после ключа, явно говорящего, что это файл какого-то типа. Если без ключа, то тип файла берем "по смыслу".
Блин, я бы показал, но оно слегка "не для свободного доступа". Хотя внутри и нет ничего этакого, но узнаваемо. Ну так-то банальная реализация вообще-то. Последовательно заполняем внутренню табличку опций, и в процессе либо по итогу остается что-то лишнее, с которым уже всё ясно, что оно такое.
Reply
Reply
Ну да, ну да. Всё свое все непременно должны торжественно слить в унитаз и 10 лет лесоповала за неследование Указаниям Гуру (который появился непонятно откуд, непонятно как и которому все должны по жизни).
Есть? Работает? Используем. А Гуры идут туда, откуда взялись.
Reply
Reply
Очевидно, что если в первой же строке нет нашего key: value, то это что-то эзотерическое.
(Впрочем, я тут недавно и из шифрованных сертификатов даты/владельца доставал. Ибо утомило "У миня ни работаит с сертификатом, протухшим год назад на уволившегося 2 года назад сотрудника!").
Reply
Markdown файл должен начинаться с заголовка урока уровня H1, то есть с #.
Печаль.
Reply
Скажем так: во всех моих человекочитаемых файлах (независимо от того, чем оно будет читаться еще) с некоторого момента присутствует не позднее чем третьей строкой "# version: yyyy-mm-dd". По причинам, которые вслух не произнесть (а если произнесть, то можно на долго сесть), но в общем присутствует.
Исключение - в некоторых не "#", а "--" или "
Так что если бы мне понадобилось в одном блоке кода использовать файлы нескольких разных форматов, я бы добавил следующей как раз идентификатор формата.
Reply
В markdown есть несколько извращённый способ писать комментарии в конец: https://stackoverflow.com/a/32190021, а в последнюю строку заглянуть вроде не сильно сложнее, чем в первую
Reply
Leave a comment