Тут вообщем очень простая ситуация:
Есть функция в модуле. Эта функция получает получает параметры и возвращает значение. Если параметров много или мало, то возвращается :error, иначе функция выполнятся. Во время выполнение получение параметры могут не соответствовать условию, в этом случаи так же возвращается :error. Если всё правильно, то возвращается тупл с атомом и мапом. Я посмотрел в нескольких исходниках, в каких-то статьях, но так и до конца не понял: мне стоит описывать каждый случай вызома, скажем с правильным количество параметров и неправильным, с правильными входящими данными и с неправильными, или хватит всего один пример?
Как вы это обычно делаете?
давай по пунктам: 1. Если передаваемые параметры не соответствуют арности вызываемой ф-ции, то выбросится соответствующее исключение. 2. "не соответствует условию" - речь о guards?
1. Исключение выбрасывается(в виде атома error), но стоит ли эту часть тоже включать в докементацию? 2. Нет, просто bad requst/invalid inputs, что-то такое.
мне обычно хватает spec с перечислением всех возможных результатов, но это подразумевает что ошибки говорят сами за себя, например user_not_found, invalid_id. Если ошибки неоднозначные, то можно в комментарии перечислить все возможные ошибки списком и кратко описать что они значат.
Ясно, значит увлекаться с написанием документации не стоит.
👌 очень полезное увлечение.
не ну если пишешь опен сорс либу то лучше более подробно писать документацию, если для себя и команды - то нет необходимости
Я имел ввиду описание многих вариантов вызова этой функции и возвращаемого результата, как это делаем в тестах.
Есть необходимость ) Потом через полгода, если нужно что-то изменить, смотришь на код как первый раз )))
если видя внутренности сложно понять что делает код, то код не очень)
Вопрос не «что делает код», а «зачем» и «какие еще входные параметры тут могут быть»
Обсуждают сегодня