Ответ
Да, писал документацию для проектов. Это важно для поддержки кода и командной работы.
Пример:
/**
* Функция для валидации email.
* @param email Строка для проверки.
* @return true, если email валиден, иначе false.
*/
fun isValidEmail(email: String): Boolean {
return Patterns.EMAIL_ADDRESS.matcher(email).matches()
}
Использую:
- KDoc для Kotlin/Java
- Markdown для README и гайдов
- Swagger для API (если нужно)
Документирую архитектуру, ключевые классы, публичные методы. Стараюсь делать её лаконичной и полезной.
Ответ 18+ 🔞
А, документация! Ну, это вообще отдельная песня, ебать мои старые костыли. Без неё — пиздец, а не проект, особенно когда через полгода смотришь на свой же код и думаешь: «Какого хуя я тут наворотил?» Или когда новый чувак приходит в команду и у него глаза по пять копеек — он нихуя не понимает, с какой стороны подступиться.
Вот смотри, самый простой пример, чтобы не быть голословным. Допустим, функция проверки почты. Без комментариев — просто вызов какого-то непонятного matcher. А с документацией — сразу ясно, что к чему.
/**
* Функция для валидации email.
* @param email Строка для проверки.
* @return true, если email валиден, иначе false.
*/
fun isValidEmail(email: String): Boolean {
return Patterns.EMAIL_ADDRESS.matcher(email).matches()
}
Вот видишь разницу? В первом случае — хуй с горы, во втором — всё чётко. Человек сразу видит, что на входе, что на выходе, и не придётся ему вникать в дебри регулярных выражений, которые Patterns.EMAIL_ADDRESS внутри себя скрывает.
Я обычно так и работаю:
- KDoc для Kotlin или Java кода — чтобы описать, что делает каждый публичный метод или сложный класс. Не нужно расписывать каждую строчку, но ключевые моменты — обязательно. Иначе потом сам от себя охуеешь.
- Markdown для всяких
README.mdи общих гайдов — тут можно развернуться, нарисовать схемки, объяснить, как проект собирать и запускать. Без этого — волнение ебать, новый разработчик будет неделю в потолок плевать. - Swagger для API — если делаешь бэкенд, то это просто must have. Чтобы фронтендеры не приставали каждые пять минут с вопросом «а какой JSON ты отдаёшь в этом эндпоинте?». Выложил сваггер — и все, иди, смотри сам, пидарас шерстяной.
Главное правило — документируй не всё подряд, а то, что реально важно для понимания: архитектуру, ключевые взаимодействия, публичные контракты. И старайся писать так, будто объясняешь это человеку, который в теме, но в твой конкретный модуль ещё не заглядывал. Лаконично, по делу, без воды. А то бывает такое начитаешься — терпения ноль ебать, три страницы текста, а сути — ни хуя.