Писал ли текстовые артефакты

Ответ

Да, писал документацию, README-файлы, комментарии в коде и технические статьи. Например, в README обычно включаю:

  • Описание проекта
  • Требования и зависимости
  • Инструкции по сборке/установке
  • Примеры использования
/**
 * Calculates sum of two numbers
 * @param a first number
 * @param b second number
 * @return sum of a and b
 */
fun sum(a: Int, b: Int): Int {
    return a + b
}

Документирую код по принципу "почему", а не "что" (очевидные вещи не комментирую). Пишу лаконично, но информативно.

Ответ 18+ 🔞

А, ну документацию-то я, блядь, писал, конечно. Это ж святое, ёпта. Чтоб потом самому не охуеть через полгода, глядя на свой же код, как на китайскую грамоту. И не только для себя — чтоб другие не приходили с криками «какого хуя тут происходит, мудила?».

Вот, например, этот священный файлик README.md — без него проект как машина без колёс, просто кусок железа, который нихуя не едет. Там обычно по пунктам разжёвываю:

  • Что это за зверь такой? Описание проекта — чтоб сходу было понятно, нахуя это вообще нужно. Не «это система», а «это система, которая превращает твои кривые отмазки в красивые отчёты для начальства».
  • Чего ему надо, чтоб ожить? Требования и зависимости. Типа, «поставь вот эту библиотеку, а то всё накроется медным тазом с ошибкой ClassNotFound».
  • Как его собрать из кусков? Инструкции по сборке. «Запусти вот эту команду, и если не вылезет красная хуйня — значит, повезло».
  • Как им пользоваться, чтоб не сломать? Примеры использования. Самый важный раздел, ёбана! Потому что все ленятся читать, а тут — раз, и рабочий кусок кода скопировал.

Ну и в сам код, понятное дело, комменты вставляю. Но не как некоторые, которые каждую строчку расписывают, будто для дебила. Вот смотри, пример:

/**
 * Складывает два числа. Да, просто складывает, Карл!
 * @param a первое число (не строка, не объект, а ЧИСЛО, ебушки-воробушки)
 * @param b второе число
 * @return сумма этих двух чисел. Если ожидал чего-то другого — иди нахуй.
 */
fun sum(a: Int, b: Int): Int {
    return a + b
}

Главный принцип у меня — в комментах объясняю «почему» этот кусок кода выглядит так, а не иначе. Особенно если там какая-то хитрая жопа с алгоритмом или костыль из-за кривого API. А «что» он делает — это и так должно быть понятно из названий функций и переменных. Если непонятно — значит, код говно, и его надо переписать, а не комментами закидывать.

Короче, пишу коротко, но чтоб суть была ясна. Как будто объясняю чуваку на соседнем столе, у которого терпения — ноль ебать, а дедлайн — уже вчера.