متین تلخابی
متین تلخابی
خواندن ۵ دقیقه·۵ ماه پیش

اصول برنامه هایی که Maintainable هستن چیه ؟

خلاصه برای اونایی که حوصله ندارن :
روش هایی که کمک می کنن برنامه رو هر موقع خواستیم توسعه بدیم و باگ هاش رو برطرف کنیم

سلام به سری سوال های فرانت خوش آمدین
اینجا به سوال های مهم و اطلاعاتی که هر فرانت کاری باید اونا رو بدونه و باهاشون کار کنه می پردازیم

همونطور که همتون می دونید کیفیت یه نرم افزار می تونه باعث موفقیت یا شکست یه کسب و کار بشه
هر چقدر پروژه بروز تر و کاربردی تر باشه برای کاربر ها کارایی بهتری داره و برای کسب و کار سود بیشتر ...

مهم ترین چیزایی که برای یه پروژه قابل بررسی و توسعه هست :
Reliability - Performance - Security - Scalability - Maintainability




اول اینکه برنامه Maintainable چیه ؟

به برنامه هایی می گن که طوری طراحی شدن که به راحتی قابل توسعه باشن

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

چطوری یه برنامه Maintainable داشته باشیم ؟

  1. رعایت Best Practice ها و استانداردها :
    بدون توجه به اینکه داریم با چه زبونی کد می نویسیم ، همیشه یه سری استاندار های خاص هستن که با استفاده از اون ها برنامه ما در طول زمان پایدار و ثابت قدم باقی می مونه.
    مثلا الگو ها و استاندارد هایی مثل DRY , TAGNI , SOLID
    یا ابزار هایی مثل Linter ,Prettier
    یا به طور کلی قوانینی که برای همه اشناست
    نحوه نام گذاری متغیر ها ، توابع و فایل ها هم خیلی مهمه
  2. استفاده از فریمورک ها و کتابخانه های معروف :
    فریم ورک ها به خاطر اینکه به خوبی تست شدن و مرتب بروزرسانی می شن قابل اطمینان هستن از طرفی به خاطر مستندات و داکیومنت کاملی که دارن هر توسعه دهنده ای می تونه بهشون رجوع کنه
    پس اگه قصد داریم برنامه ای بنویسیم که توسط بقیه توسعه دهنده ها هم توسعه داده بشه بهتره از فریمورک های معروف استفاده کنیم
  3. بروزرسانی پیوسته ابزار ها و کتباخونه ها :
    ابزار ها و فریمورک های معروف از چیزی که فکر می کنید خیلی سریع تر اپدیت می دن
    اگه ما ابزار هامون رو با این تغییرات بروزرسانی نکنیم به مرور زمان برنامه ما پر می شه از یه سری ابزار قدیمی و منسوخ شده که پر از باگه امنیتیه که هزینه نگهداری چنین پروژه ای رو بالا می بره.
  4. توسعه ماژولار
    یکی از نکاتی که به خوانا بودن و قابل توسعه بودن برنامه ما کمک می کنه تقسیم کردن برنامه اصلی به برنامه های مستقل (ماژولار) هست
    توی این روش به جای اینکه یه فایل چند هزار خطی داشته باشیم که برای توسعه اون اشکمون در بیاد اون رو به قسمت های کوچیک تر و معنا دار تر تقسیم می کنیم که هر بخش و هر فایل مسئول یه کار مشخص و قابل پیش بینی هست
    این حرکتی که می زنیم علاوه بر اینکه توی دیباگ کردن برنامه و توسعه دادنش کمک می کنه باعث می شه فایل های زیرمجوعه فایل اصلی Reusable بشن یعنی بشه دوباره توی به پروژه دیگه استفادش کرد پس توی زمان و هزینه پروژه می شه صرفه جویی کرد.
  5. تست نویسی
    تست نویسی سخته ولی نداشتن تست سخت تره
    توسعه و استفاده از برنامه ای که تست نداره ما رو مجبور می کنه هر بار که بخوایم بخشی از برنامه رو چک کنیم تست ها رو دستی وارد کنیم این کار باعث می شه کمتر نگران باگ توی برنامه باشیم و با خیال راحت تر برنامه رو توسعه بدیم و توسعه دهنده دیگه ای رو به پروژه اضافه کنیم
  6. نوشتن مستندات (داکیومنت نویسی)
    اگه یه پروژه ای رو بهش امید داری که بقیه هم بیان توسعش بدن لطفا برای اینکه هم به خودت لطف کنی هم به اونی که می خواد برنامه رو توسعه بده یه README بزار این به سرعت توسعه خیلی کمک می کنه علاوه بر این درک توسعه دهنده جدید نسبت به برنامه جدید رو بیشتر می کنه
  7. از یه Version Control استفاده کن
    دیگه این روز ها همه از گیت استفاده می کنن حتی برای پروژه های شخصی و کوچیک
    ولی تا حالا با خودتون فکر کردید که " دارم درست ازش استفاده می کنم یا راه بهتری هم برای استفاده ازش هست ... "
    لازم نیست خیلی روی ترفند ها و استاندارد های برنامه هایی مثل گیت عمیق بشید کافیه فقط قواعد اصلی مثل Conventional Commits رو رعایت کنی اینطوری توسعه سریعتر و خواناتر می شه
    این حرکت توی کار های تیمی خیلی بیشتر به چشم میاد



سعی کردم توی این بخش نکاتی که با رعایتشون کمک می کنن که پروژه ای با کمترین هزینه و بیشترین بهره‌وری رو داشته باشیم اشاره کنم
اگه خودت نکته ای رو میشناسی که من اشاره نکردم توی کامنت بگو
امیدوارم این پست به دردتون خورده باشه موفق و پیروز باشید
ان شاء الله راهی که میریم ختم بشه به ظهور سریعتر آقا امام زمان...

منبع : ditty


توسعه دهندهprogrammingاصول برنامه نویسیبرنامه نویسی
برنامه‌نویس Back End مسلط به زبان‌های TailwindCSS، JavaScript، Python و فریم‌ورک Django. مشتاق یادگیری و پیشرفت
شاید از این پست‌ها خوشتان بیاید