jsunderhood Profile picture
Aug 27, 2019 14 tweets 2 min read Read on X
Как и обещала, о документации. Основные две вещи, которые вам нужно знать, если вы решили писать хорошую документацию для разработчиков:

1) это занятие сложное
2) это занятие неблагодарное

Почему неблагодарное? Почему-то контрибьюшены в документацию часто недооценивают.
Я уже писала, что часто сталкивалась с мнением, что писать доки к чему-то - это такой немного "ненастоящий" контрибьюшен. Мол настоящие-то контрибьюторы сурово пишут код, а документацию кто угодно написать может.

На самом деле это далеко не так.
Для написания хорошей документации автор должен

- понимать исходник на достаточном уровне;
- уметь объяснять (нет, умеют не все)
- в случае с документацией для разработчиков нужно уметь не сваливаться в крайности "и так все ясно" и "объясняем все-все мелочи"
В первом случае вашу документацию не поймут, во втором - она будет раздражать и в потоке объяснений "что такое Array.prototype.reduce" будет трудно найти, что же вы на самом деле хотели описать.
Написание документации - это упражнение на эмпатию. Докрайтеры не описывают объективную реальность - это делает исходный код. Мы помогаем понять его, и это требует некоторого понимания и принятия мыслительных процессов "потребителей" вашей документации.
Некоторые принципы

- фича не существует, пока она не документирована

- используйте простые предложения вместо сложных конструкций. Сложные предложения усложняют восприятие (извините за тавтологию) и быстрее истощают когнитивную "емкость" читателей
- не пытайтесь объяснить больше одной концепции в один момент времени. Допустим, я пытаюсь объяснить, что такое метод в компоненте Vue и пишу вот такой пример

Что в нем не так?
Как верно заметили в комментариях, у нас помимо концепции метода здесь присутствует axios. Возможно, для части аудитории эта концепция знакома и пройдет незамеченной; но для многих она будет новой, непонятной и создаст дополнительную когнитивную нагрузку
Об эмпатии: попытайтесь представить себя на месте читателя вашей документации. Часто, когда мы что-то изучили досконально, какие-то вещи становятся для нас очевидными - это так называемый "curse of knowledge". Не можете представить? Попробуйте тест-драйв документации на новичке
Начинайте объяснения с проблемы, а не с решения. Например "Использование props" - плохой заголовой для раздела документации. Куда лучше будет "Передача данных дочерним компонентам с помощью props", потому что оно дает понимание задачи, которую пропы решают.
Когда пишете документацию - не бойтесь вникать в source code и задавать вопросы авторам кода. Даже глупые вопросы. Особенно глупые вопросы! Это дает возможность задуматься над тем, как построить фичу, которую легко объяснить - и часто это будет оптимальным решением
Если определенная часть документации все-таки требует знания каких-то концепций - озвучивайте это в начале части и ставьте ссылки на источники
Не перенасыщайте документацию подсказками и warning'ами, это отвлекает и мешает нормальному чтению документации. Кстати, с течение времени документация Vue "подпортилась" в этом плане, потому что контрибьюторы часто хотят добавить именно "подсказку". Мы работаем над этим 😊
Не стоит писать авторитарно "нужно делать так, потому что это best practice". Объясняйте и приводите примеры.

Когда думаете о том, что объяснять вначале, пишите о том, что решит наибольшее количество проблем при наименьшем затраченном на изучение усилии. Power/effort ratio 😌

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with jsunderhood

jsunderhood Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jsunderhood

Jun 29, 2021
Прочитала с грустью и без удивления, к сожалению. В айти как то слишком часто стали такие «практики» распространяться.
Если говорить о тестовых. Я против них, особенно до технического собеса. Ты тратишь свои силы, время, ресурсы и твоя работа может просто быть выброшена и не оценена. Собственно как было выше
Я предпочитаю лайв кодинг. Это хороший и рабочий способ провести собес.
За все время я написала одно тестовое и то в страхе, что меня просто никуда не возьмут. Это была первая работа.
Read 5 tweets
Jun 29, 2021
Всем доброе утро!
Ночью решила, что хочу и этим с вами поделиться 🙌🏻 если по ходу чтения есть вопросы, смело задавайте, возможно я что-то полезное и интересное для вас опускаю
Сказ о том, как я имела три работы, а потом три работы имели меня 👇🏻
Если коротко: херовая идея конечно
Предыстория. Все детство пока девочки играли в куклы, я играла в школу и жить без этого не могла. Поэтому с первого курса бакалавриата я стала репетитором по математике. Вообще вышло это случайно и я не планировала во время учебы на мехе чем то заниматься, кроме учебы
Read 24 tweets
Jun 28, 2021
Если говорить о специфике работы, то для себя я поняла, что с большей долей вероятности я не пойду делать бек. Я люблю UI, люблю верстать, люблю думать над клиентской логикой.
На первой работе у меня были достаточно сложные и глубокие вещи, просто так в которые не въедешь. Я тратила все ресурсы и силы, чтобы родить что-то годное.
Сейчас же я занимаюсь социальной частью сайта. Я делаю очень много клиентской логики и это мне доставляет.
Read 10 tweets
Jun 28, 2021
Ну как и положено, начну я с рассказа почему я стала программистом
Ещё в 10 классе я поняла, что мне интересна математика и мой очень близкий друг/одноклассник/одногруппник/однопартник предложил пойти с ним в мат школу при мехмате. (Никита, если ты это читаешь, я держусь, чтобы не тегать тебя!)
Ну я короче прониклась в то, как мы решали примеры 1 курса и перестала себя видеть в чём-то другом, кроме программирования и математики.
Read 12 tweets
Jun 28, 2021
Ну вот и я дорвалась в этот аккаунт на недельку! Будем знакомиться 🙂
Меня зовут Татьяна Гулякина, я – фронтенд разработчик вот тут @tradingview и почти магистр комп.наук вот тут @mmcs_sfedu. Мне 22 года и живу я в городе Ростове-на-Дону 🙋‍♀️
Правда какого-то конкретного плана на неделю у меня нет, есть только пара заметок на интересные темы, некоторые из которых подкинули мне мои друзья для обсуждения здесь
Read 5 tweets
Jun 20, 2021
Ну, что ж, моя неделя подошла к концу, было интересно! Спасибо всем за вопросы и обсуждения.
Вот что успели обсудить:
— про меня
— преподавательские мудрости
— чего не знают мидлы
— про сишарперов и фронтенд
— про архитектуру
Холивар про реактивность в двух частях: и
Холивар про чистые функции
— Про людей, не знающих «фундаментальные вещи»
– Про кругозор
— Чистый код
— Новые стеки
— Ошибки саморазвития
— Соревнования
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(