نوشتن مستندات فنی که واقعاً خوانده شود

همه می‌دانند مستندات لازم است و تقریباً هیچ‌کس نمی‌نویسد. دلیلش تنبلی نیست — نبود روش است. این مقاله روشی می‌دهد که با کمک هوش مصنوعی قابل اجراست.

🍊 تیم نارنگی ⏱ 5 دقیقه مطالعه
صفحه‌ی مستندات یک پروژه‌ی نرم‌افزاری روی نمایشگر

یک فایل README را باز می‌کنید. می‌نویسد: «برای نصب، دستور نصب را اجرا کنید.» تمام. توسعه‌دهنده‌ی تازه‌وارد بعد از پنج دقیقه صفحه را می‌بندد و می‌رود از همکار بغل‌دستی‌اش می‌پرسد.

این صحنه در بیشتر تیم‌ها تکرار می‌شود، و دلیلش تنبلی نیست. مستندنویسی یک مهارت جداست که کسی آموزشش را ندیده، و در فشار ددلاین اولین چیزی است که حذف می‌شود.

هوش مصنوعی این معادله را عوض کرده — نه چون بهتر از شما می‌نویسد، چون هزینه‌ی شروع را تقریباً صفر کرده. تفاوت بین «هیچ مستندی نداریم» و «یک پیش‌نویس داریم که باید اصلاح شود» خیلی بزرگ است.

چرا مستندات خوانده نمی‌شود

سه اشتباه ساختاری تکرار می‌شود. اول، همه‌چیز در یک فایل: آموزش مبتدی، مرجع فنی و بحث معماری کنار هم. کسی که دنبال یک پارامتر می‌گردد باید سه صفحه رد کند.

دوم، نوشتن از دید کسی که همه‌چیز را می‌داند. جمله‌ی «کافی است سرویس را به میکروسرویس احراز هویت وصل کنید» برای نویسنده روشن است و برای خواننده هیچ معنایی ندارد.

سوم، نبود مثال اجراپذیر. هر مستندی که یک نمونه‌ی کامل و قابل کپی ندارد، در عمل نیمه‌تمام است.

چهار نوع مستند را قاطی نکنید

این تفکیک بیشتر از هر تکنیک دیگری کیفیت را بالا می‌برد:

  • آموزش — برای کسی که هیچ‌چیز نمی‌داند. هدف: یک بار موفق شدن، حتی اگر همه‌چیز را نفهمد.
  • راهنمای گام‌به‌گام — برای کسی که کار مشخصی دارد. «چطور یک وبهوک اضافه کنم».
  • مرجع — فهرست خشک و کامل. پارامتر، نوع، مقدار پیش‌فرض، خطاها.
  • توضیح — چرایی. چرا این معماری انتخاب شد و چه چیزی را فدا کرد.

چارچوب Diátaxis همین تقسیم‌بندی را دقیق‌تر توضیح می‌دهد و در بسیاری از پروژه‌های بزرگ متن‌باز پایه‌ی ساختار مستندات است.

💡 تست ساده

قبل از نوشتن هر بخش، از خودتان بپرسید خواننده در آن لحظه چه چیزی می‌خواهد: یاد بگیرد، کاری را انجام بدهد، چیزی را پیدا کند، یا بفهمد چرا؟ اگر جواب بیش از یکی است، بخش را بشکنید.

تولید مستند مرجع از روی کد

این جایی است که بیشترین صرفه‌جویی اتفاق می‌افتد. کد را بدهید و دقیق بگویید چه ساختاری می‌خواهید:

برای این کد مستند مرجع بنویس.

برای هر تابع عمومی:
- یک جمله که می‌گوید چه کار می‌کند (با فعل شروع کن)
- پارامترها: نام، نوع، اجباری یا اختیاری، مقدار پیش‌فرض
- خروجی و نوعش
- خطاهایی که ممکن است پرتاب شود و در چه شرایطی
- یک مثال کوتاه اجراپذیر

قواعد:
- توابع داخلی و خصوصی را نادیده بگیر
- چیزی ننویس که در کد نیست؛ اگر رفتاری مبهم است،
  زیرش بنویس «نیاز به بررسی»
- خروجی مارک‌داون
---
[کد]

آن جمله‌ی «چیزی ننویس که در کد نیست» ضروری است. بدون آن، مدل رفتارهای منطقی ولی نادرست را حدس می‌زند و شما مستندی می‌گیرید که دروغ می‌گوید — بدتر از نداشتن مستند.

README که کار می‌کند

ترتیب اهمیت دارد، چون بیشتر خواننده‌ها فقط بخش اول را می‌بینند:

  1. یک جمله: این پروژه چه مشکلی را حل می‌کند.
  2. پیش‌نیازها با نسخه‌ی دقیق.
  3. نصب و اجرا — دستورها به‌ترتیب، بدون مرحله‌ی نانوشته.
  4. یک مثال کامل که خروجی‌اش هم نشان داده شده.
  5. تنظیمات و متغیرهای محیطی.
  6. مشکلات رایج و پیامشان.

بند ششم بیشترین ارزش را دارد و کمترین توجه را می‌گیرد. هر خطایی که تازه‌واردها بیش از یک بار گرفته‌اند، باید عین متن خطا و راه‌حلش آنجا باشد — چون آدم‌ها همان متن را جستجو می‌کنند.

چه چیزی را بسپارید

بخشهوش مصنوعیشما
مرجع APIپیش‌نویس کاملبازبینی صحت
راهنمای گام‌به‌گامساختار و نگارشمراحل واقعی
مثال کدنسخه‌ی اولیهاجرا و تأیید
پیام‌های خطا و رفعشانمرتب‌کردنفهرست واقعی از تجربه
دلیل تصمیم معماریهیچهمه‌اش
ترجمه‌ی مستند به انگلیسیتقریباً کاملاصطلاحات دامنه

چیزی که هیچ ابزاری نمی‌تواند بنویسد

مهم‌ترین مستند هر پروژه معمولاً کوتاه‌ترین است: چرا این‌طور ساخته شد. چرا صف را انتخاب کردید و نه فراخوانی مستقیم؟ چرا آن جدول ایندکس ندارد؟

این اطلاعات در کد نیست — در جلسه‌ای بود که شش ماه پیش برگزار شد. یک فایل ساده با فهرست تصمیم‌ها بسازید: تاریخ، تصمیم، گزینه‌های رد شده، دلیل. سه خط برای هر تصمیم کافی است و همین سه خط، سال بعد یک بازنویسی بی‌مورد را جلوگیری می‌کند.

به‌روز نگه‌داشتن

مستند غلط بدتر از مستند نبودن است، چون خواننده به آن اعتماد می‌کند. دو عادت ساده این را حل می‌کند: مستندات را در همان مخزن کد نگه دارید، و در چک‌لیست بازبینی کد یک سطر اضافه کنید که می‌پرسد آیا رفتار عوض شده و مستندش هم عوض شده است.

اگر با ابزارهای کمک‌کدنویسی کار می‌کنید، تولید پیش‌نویس تغییرات مستند را می‌شود به همان مسیر اضافه کرد؛ روش کلی‌اش در هوش مصنوعی برای برنامه‌نویسی آمده.

جمع‌بندی

مستندات خوب سه ویژگی دارد: می‌دانید هر بخش برای چه کسی است، هر ادعایی مثال اجراپذیر دارد، و کنار کد زندگی می‌کند. هوش مصنوعی هر سه را ارزان‌تر کرده ولی هیچ‌کدام را خودکار نکرده — نقشش تولید پیش‌نویس است، نه تصمیم‌گیری درباره‌ی ساختار.

برای شروع، پرزحمت‌ترین بخش پروژه‌تان را انتخاب کنید و همان پرامپت مرجع را در نارنگی اجرا کنید. اصول نوشتن پرامپت دقیق را هم در راهنمای پرامپت‌نویسی ببینید. جامعه‌ی Write the Docs منابع خوبی برای عمیق‌تر شدن دارد.

مطالب مرتبط:

پرسش‌های پرتکرار

می‌توانم کل مستندات را از روی کد تولید کنم؟ +
بخش مرجع را بله — امضای توابع، پارامترها، خروجی‌ها و خطاها. اما دلیل تصمیم‌های معماری در کد نیست و هیچ ابزاری نمی‌تواند حدسش بزند. آن بخش را باید خودتان بنویسید، هرچند کوتاه.
مستندات را فارسی بنویسم یا انگلیسی؟ +
اگر تیم داخلی و فارسی‌زبان است، فارسی بنویسید تا واقعاً خوانده شود؛ فقط نام توابع، پارامترها و پیام‌های خطا را انگلیسی نگه دارید. برای پروژه‌های متن‌باز که مخاطب جهانی دارند، انگلیسی انتخاب طبیعی است.
چطور مستندات را به‌روز نگه دارم؟ +
مستندات را کنار کد در همان مخزن بگذارید و در چک‌لیست بازبینی کد یک خط اضافه کنید: «اگر رفتار عوض شده، مستند مربوطه هم عوض شده؟». مستنداتی که در جای دیگری نگهداری می‌شود، بعد از چند ماه از کد جدا می‌افتد.
کد شرکت را می‌توانم به هوش مصنوعی بدهم؟ +
به سیاست شرکتتان بستگی دارد و باید قبلش بپرسید. اگر محدودیت هست، فقط امضای توابع و ساختار را بدهید و منطق داخلی و کلیدها را حذف کنید. هیچ‌وقت فایل تنظیمات و توکن را پیوست نکنید.
از کجای پروژه شروع کنم؟ +
از همان بخشی که بیشترین سؤال درباره‌اش پرسیده می‌شود. اگر هر ماه سه نفر می‌پرسند فلان سرویس چطور راه می‌افتد، همان اولین مستند شماست.
#مستندات فنی #README #مستندسازی کد #داکیومنت #تیم توسعه
به‌دردِ کسی می‌خورد؟ تلگرام واتساپ
🍊

خواندنش خوب بود — حالا امتحانش کن

هرچه در این صفحه خواندی، همین حالا داخلِ نارنگی قابلِ اجراست. ثبت‌نام با شماره‌ی موبایل، نارنگیِ رایگانِ شروع، بدونِ نیاز به کارت یا تحریم‌شکن.

بدونِ نصب هم کار می‌کند — ولی در اپ سریع‌تر است