چگونه کد نویسی تمیزی را یادبگیریم؟ قسمت اول

کد نویسی تمیز بسیار در سرعت توسعه توسط سایر برنامه نویسان کمک می کند.

این بخش اول این سری می باشد و به مرور تکمیل می شود پس برای یادگیری و همراهی بیشتر پیگیر سری های بعدی باشید… و با کامنت هاتون حمایت کنید.

تکنیک های زیادی وجود دارد که به شما کمک می کند که از تجربیات سایر برنامه نویسان در کدنویسی استفاده کنید زیرا کد نویسی تمیز یک استاندار خاص نیست و برای هر شخصی (بر اساس یادگیری) ممکن است متفاوت باشد.

کتاب clearn code یکی از کتاب هاست که در این باره صحبت می کند و سعی کرده تجریبات شخصی از اینکه چه تکنیک هایی می توانند به کد نویسی تمیز کمک کند … شما می توانید روش خودتان را برای کد نویسی تمیز استفاده کنید اما باید داکیومنت های آن را در دسترس بگذارید تا دیگران از ایده کدنویستان آگاه باشند…

تمامی روش های نوشته شده در این سری از نوشته ها از کتاب clean code می باشد و سعی بر این است که هیچگونه تغییری در آن به وجود نیاورم و هر قسمت که نظر شخصی بود ذکر خواهم کرد… با کامنت هاتون انرژی مثبت در ادامه این سری بدید 3>

در این سری قصد دارم در باره ی توابع صحب کنم …

فصل توابع در کتاب clearn code وجود دارد …

خب توابع برنامه نویسی یک سری کد هستند که در یک { و } قرار دارد و در نهایت یک اسم و یا سری ورودی دارد و یک خروجی نیز تولید می کند.

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

توابع باید اسم های که مفهوم قصه اون تابع رو انجام میدن رو روایت کنه …

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

حالا یک نکته که هست اینه که چطور بفهمیم که کدمون داره یک کار رو انجام میده … کتاب در این باره توضیح داده که باید در سطح abstraction این کار تعیین بشه … یعنی به نظر بنده مثلا:

(function addNumbers(int $a, int $b {
  return $a + $b
}

این کد یک دستان داره میگه :

دو تا ورودی بدید و جمعشون رو بر می گردونه.

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

دو تا ورودی بدید و حالا این دو ورودی رو جمع کن و یک عدد بهش اضافه کن.

اینجا واسه اضافه کردن این عدد نمیشه یک تابع نوشت خیلی کار منطقی به نظر نمیاد حالا وس باید چیکار کرد ؟ این میشه پایین سطح abstraction کار …

یک سطح دیگه بریم بالا تر ببینیم چی می بینیم :

این تابع حالا قرار با توابع دیگه مثلا دو تا کاربر مقادیر ورودیشون رو در دیتابیس ذخیره کنه و هر چی بریم سطح بالا تر جزءیات کمرنگ تر و کلیات بالا تر مشخص میشه تا جایی که می رسیم به هدف اصلی سیستم…

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

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

خیلی خوشحالم که پیگری کردی و خوندی حتما کامنت بذار و روش خودتو بگو.

منبع : ramtinmi.ir (وب سایت خودم (: )

منبع مطلب : کتاب clean code