Каждый элемент спецификации при перегонке api в формальную документацию (любым способом) имеет якоря. Предположим, нам надо посчитать покрытие "свободной документацией" путей (paths). Если есть путь, на якорь которого или на якоря подчиненных элементов нет ссылки в документации, значит путь мы пропустили.
Это хорошо ещё с той точки зрения, что при изменениях api мы можем контролировать, что ссылки ведут на существующие якоря (т.е. на реальные элементы).
можно использовать невидимую ссылку. т.е. мы как бы говорим в свободной документации, что это место касается вот такого id в сгенерированной документации на api, но в конечном документе никакой гиперссылки показывать не нужно. такая необходимость тоже бывает
1. Код компилируется в небольшой бинарный файл → меньше размер докер-образа → быстрее pull на стороне CI 2. Меньше зависимостей → меньше риск обнаружения уязвимостей в зависимости; нет необходимости тянуть весь мир (намеренное преувеличение) как в nodejs 3. Мне субъективно нравится как работают шаблоны в Go
1. при нынешних скоростях интернета разве есть большая разница? 2. я ни слова не сказал про nodejs :) 3. а как они работают? У меня просто был опыт переписывания slack-бота с Go на Clojure и (в том числе) именно процессинг mustache темплейтов на последнем был гораздо лаконичнее
1. Скорее всего нет, просто стремление к минимализму и скорости, в духе: если можно сделать образ маленьким, зачем делать его больше 2. Ну обычно я видел что используют 11ty для такого 3. Вот пример шаблона поста: https://github.com/chuhlomin/micro/blob/main/templates/post.html
1. premature optimisation? :) 2. к сожалению(или к счастью), не в курсе 3. похоже на типичный https://en.wikipedia.org/wiki/Mustache_(template_system), свёртка шаблона со структурой с данными обычно делается вызовом одной функции
1. Возможно, но взять тот же closure, ему нужна java, а это контейнер на сотни мегабайт который ещё и поднимается медленнее vs 10-15мб контейнера с одним go бинарником. 3. Если бы в го не было встроено шаблонов, то наверное делал бы с mustache Тут скорее главная причина выбора go что он мне как-то ближе
возвращаясь к пункту 3, например, переписанный код для выкатывания чейнджлога к релизу уменьшился раза в 3-4, по сравнению с оригиналом, в читабельности даже выиграл, вместо императивного расписывания инструкций компьютеру пришлось просто описывать бизнес-задачу.