В последнее время мне приходится очень много работать с различными текстами, как своими, так и чужими. Поэтому я хотел бы поделиться с вами некоторыми наблюдениями по поводу того, на что следует обращать внимание при написании текстов целью которых ставится что-либо последовательно объяснять другим людям, преимущественно мало ознакомленными с предметом повествования. Примерами таких текстов могут выступать различные руководства, наши драгоценные тикеты, в которых мы конечно же не забываем грамотно и лаконично описывать шаги для воспроизведения проблемы и даже задокументированные тестовые случаи.


Итак, включая режим капитана Очевидности, я натягиваю простынь на плечи как плащ, трусы поверх шорт и, вытянув одну руку перед собой, лечу в густую массу суровых людей с техническим образованием, дабы поучить немного их всех жизни.


Лирическое отступление: у меня сегодня была какая-то странная проблема с подбором КДПВ, так что пусть ею будет вот такой комикс:


image


Вместо введения


Далее ваш текст будет называться материалом, а человек проходящий описываемые в нём действия — читателем. Только предупреждаю: казалось бы где я, а где умение писать хорошие тексты… Так что весь нижеизложенный пост можно считать пятничным набросом, ориентированным прежде всего на людей вовлеченных в процессы тестирования.


Основные моменты на которые стоит обратить внимание


Обозначение проблематики


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


Чёткая последовательность описываемых действий


Читатель вашего текста точно должен знать какое действие следует (или предшествует) текущему, чтобы при возникновении каких-либо несоответствий между описываемым вами и получаемым по факту, он в кратчайший срок мог локализовать проблему. Любое получаемое читателем состояние должно чётко отслеживаться по тексту. По возможности шаги действий стоит пронумеровать, так при возникновении каких-либо проблем к вам смогут обратиться с точным указанием шага на котором что-то пошло не так.


Однозначность


Любое описанное действие не должно допускать двусмысленного толкования. Никаких описаний своих чувств и эмоций в тексте быть не должно. Использование читателем интуиции и телепатии для достижения обозначенного вами результата неприемлемо. Никаких текстов из разряда "берём произвольное значение в интервале от N до N + 100" — только точные значения входных и выходных значений используемых в примерах (особенно актуально для тестовых случаев).


Понятная терминология и недопустимость переусложнения


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


Скриншоты


Скриншоты не должны служить иллюстрацией ситуации "в жизни так бывает", а должны указывать что-то такое, что достаточно проблематично описать словами. Например, расположение какого-либо элемента в сложном интерфейсе или состояние интерфейса после каких-либо выполненных действий. Рамочки и стрелочки для привлечения внимания к конкретным областям изображения — это наши лучше друзья.


Лаконичный заголовок


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


Вместо послесловия к данному хабропосту


В качестве послесловия стоит, пожалуй, отметить, что все описанные действия я сам не всегда исполняю, ведь кому приятно читать сухой текст… :) Но прежде чем играть словами, дабы не дать скучать коллегам в процессе чтения вашего текста, научитесь всё-таки писать его правильно и понятно, чтобы читатель прежде всего быстро и эффективно достигал цели к которой его ведёт ваш текст.

Комментарии (6)


  1. Mutexxx
    25.05.2018 11:15
    +2

    Важно найти грань между «избегать описания элементарного» и «четкой последовательностью действий». Элементарность действия весьма субъективна.


    1. martin_wanderer
      25.05.2018 11:31
      +1

      Эту грань становится гораздо проще найти при правильной декомпозиции: если алгоритм грамотно разбит на блоки с понятными названиями, то сами они могут быть любой степени детализации. Читатель, знающий как, скажем, сохранить документ, спокойно пропустит описание пунктов меню, нужных для этого.


  1. multiprogramm
    25.05.2018 12:22

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

    Ох. Мой мозг на автомате начинает скипать такие тексты. Может, конечно, это я такой тупой, но это же всё-таки инструкция.

    Напишите в вашем тикете/багрепорте:
    0. Заголовок — краткое описание проблемы.
    1. Окружение, на котором она происходит (продукт, локально/транк/тест/прод, учётка).
    2. Начальное состояние продукта (залогинился/запустил программу, программа работала 3 часа простаивая).
    3. Что было сделано, конкретно, по шагам (нажал эту кнопку, вбил в это поле «12345»).
    4. Что получили в итоге (неправильный ответ «123», ошибка «неверный дескриптор 1234», зависание).
    5. Что хотели получить (правильный ответ «333», отсутствие ошибки, отсутствие зависания).
    6. Ссылки на ТЗ/согласования, почему хотели бы получить именно это (если не очевидно).
    7. Скриншоты, логи, дампы, исходные файлы, полученные файлы и т.п., если есть.


    1. shpaker Автор
      25.05.2018 12:52

      Ну c'mon я специально не стал писать в формате инструкции про инструкции, дабы в тексте была какая-то живость, а не сухой чеклист. Да и для инструкции тут информации маловато, скорее так… основные моменты которые многие пропускают когда начинают что-то писать. Но за комментарий спасибо — из него я почерпнул, что все таки не вышло написать максимально обобщенный текст не привязанный к тикетам )


    1. cheremin
      26.05.2018 14:14

      Вот я присоединюсь: ваш текст для меня как раз хуже, чем чеклист. Потому что а) по объему гораздо больше чеклиста б) ценности дополнительной этот объем не несет


      Ценностью может быть не только информация — это может быть развлечение, эмоциональное вовлечение, или своеобразная эмоциональная поддержка читателю. Но в вашем тексте этого нет.


      Я согласен, что полезно уметь писать текст без воды. Это полезная практика: регулярно спрашивать себя, что пострадает если я вычеркну из предложения вот это слово?


      Но многие люди путают текст без воды с текстом с замаскированной водой. Например, безличные обороты часто увеличивают объем, не увеличивая смысла: "Я нажал кнопку ОК"/"Необходимо произвести нажатие кнопки ОК". Безличные обороты сложнее воспринимаются: там глагола либо вообще нет, либо он стоит где-то далеко от существительного, и мозгу труднее связать все части воедино, чтобы воссоздать картинку.


      Есть еще стилистический аспект: безличные обороты тесно связаны с канцеляритом. Тексты с безличными оборотами — это чаще всего бюрократические/юридические документы. И когда человек начинает писать безличными оборотами — он часто сваливается в канцелярит, ведь это самый распространенный шаблон такого рода текстов. А это ужасно читается.


      Поэтому — нет, не надо использовать безличные обороты. Вместо этого надо научиться ясно использовать "личные" обороты. Не надо писать от имени непонятного третьего лица — пишите от своего имени, но пишите ясно. Это тоже навык, но мне кажется — это более полезный навык, чем навык писать от имени "того парня"


  1. shpaker Автор
    25.05.2018 12:52

    х