مستند سازی برنامه ها (بهترین تمرین های برنامه نویسی، شماره 3)

قبل از این که سراغ کار بعدی بروید، کدها را مستند سازی کنید، من خودم همیشه عاشق کدزنی بودم و از مستند سازی و کامنت نوشتن و تست کردن نرم افزار بیزار بودم. ولی حقیقت این است که در توسعه و نگه داری نرم افزار که به آن چرخه عمر یا چرخه زندگی(life cycle) نرم افزار می گویند، تست و مستند سازی کدها یک کار حیاتی است.

من بعدها، در کار فهمیدم که مستندسازی و کارهای مربوط به آن چقدر مهم است، وقتی که برای توسعه بیشتر نرم افزاری که چند ماه قبل نوشته بودم ، دوباره سراغ کدها رفتم، تازه فهمیدم که مستند سازی و کامنت گذاری مناسب که بارها در درس هایی مثل مهندسی نرم افزار و درسهای برنامه نویسی ذکر شده بود ، چه دلیلی داشت. کاری که اصولا باید در یک روز انجام میدادم، یه هفته طول به طول انجامید. در صورتی که اگر کدها را مستند کرده بودم بیشتر از یک یا دو روز به زمان کدنویسی اضافه نمی شد. خوشبختانه کدها را خود من نوشته بودم ، احتمالا اگر قرار بود یک نفر دیگر کار را ادامه می داد ترجیح میداد که کلا از اول برنامه را بنویسید، نباید ساده از کنار این ماجرا گذشت، چون ممکن است یک روز ما کار برنامه نویس دیگری را ادامه دهیم و بلایی نیست که فقط بر سر دیگران بیاوریم.

کامنت و مستندسازی

برای مستند سازی حرفه ای و استاندارد، شما باید سوال های زیر را از خودتان بپرسید:

  • مشخصات برنامه و نیازمندی های نرم افزار را مستند کرده اید؟

این که نرم افزار تحت چه شرایطی و به چه شکلی تنظیم می شود و می تواند شروع به کار کند

  • تاثیر تغییر کدهای دیگر روی کدی که شما زده اید، را مستند کرده اید؟

در نظر بگیرید که در یک سیات خبری شما ماژولی برای کار با عکس ها نوشته اید. که تمام فعالیت های مربوط به عکس ها از آپلود ، ویرایش و نمایش تصاویر بر عهده ماژول شماست و مثلا ماژول اخبار قرار است از این ماژول استفاده کند. اگر ماژول شما با تغییر در ماژول اخبار تحت تاثیر قرار میگیرد، شما حتما باید آن را در مستند سازی ذکر کنید.به طول مثال شما در طراحیتان در نظر گرفته اید که هر خبر فقط می تواند یک عکس داشته باشد و اگر ماژول اخبار از دو تصویر استفاده کند، مشکل به وجود می آید.

  • محدودیت ها و پیش فرض هایتان را در هنگام نوشتن برنامه ، را مستند کرده اید؟

به طور مثال فرض کنید که شما در یک پروژه بزرگ کار می کنید که چندین برنامه نویس دیگر هم در آن حضور دارند. اگر کد شما و یا به اصطلاح black boxی که شما نوشته اید نیاز به ورودی مناسب با شرایط خاصی دارد تا بتواند خروجی مناسب بدهد باید حتما آن را مستند سازی کنید و باید در نظر بگیرید که اگر black boxی که شما برنامه نویسی کرده اید ورودی مناسب نگیرد ، چه اتفاقی می افتد. همه این موارد را باید در مستند سازی خود در نظر بگیرید.

  • آیا طراحی ساختمان برنامه و کدی که نوشته اید را  مستند کرده اید؟

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

  • آیا مستند های شما را افراد دیگر متوجه می شوند؟

در هر پروژه مستندها را به مدیر فنی و یا حتی دیگر همکارتان نشان دهید. خود من بارها شده است که کامنتی در کد نوشته ام یا مستندی درست کرده ام که هیچکس دیگری نمی توانسته آن ها را بفهمد. حتی خود من بعد از گذشت مدت زمان کوتاهی متوجه مستندات خودم ، نمی شدم. دلیل  بوجود آمدن این مشکلی خیلی ساده است، من وقتی کدی را مستند می کردم ، اینقدر در کدها غرق می شدم که برخی چیزها برایم محرز و آشکار بود که دیگر ذکرشان نمیکردم.باید در نظر بگیرم که مستندات ما را ممکن است کسانی بخوانند که هیچ پیش زمینه ای در مورد آن مسئله ندارند. این کار برای خود ما هم لازم است، چون نکاتی را که امروز در حافظه داریم ممکن است یک هفته بعد فراموش کنیم.

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

چیزی که امروز یاد میگیرید شما را برای آینده آماده میکند

بنابراین یک بار دیگر تاکید میکنم که تا جایی که می توانید مستند سازی کنید و در انجام آن صرفه جویی نکنید. در این جا یک بار دیگر لیست کوتاهی از موارد که لازم است مستند کنید ذکر میکنم:

  • طراحی سیستم
  • نکته های کوچک و بزرگ
  • تابع های خاص، دستورها و راهنمایی ها
  • تجربه و درسهایی که در پروژه بدست آوردید
  • روش های دیباگ کردن
  • هر چیزی که بعدا ممکن است به فهمیدن کد یا استفاده مجدد از کد کمک کند.

کامنت بزار!


بازدید
Fatal error: Call to undefined function echo_views() in /home/newwebsi/public_html/wp-content/themes/wpmarket/single.php on line 65