کد نوشتن سخت است. چیزهای زیادی برای فکر کردن وجود دارد. از چک لیست استفاده کنید تا زندگی برنامه نویسی خود را کمی آسانتر کنید. با این کار مطمئن میشوید که کارهای شما کاملاً با کیفیت و دقیق هستند.
این داستان آشناست. کد مثل یک معمای رمزآلود خوانده میشود. برنامه دارای خطوط کد «مرده» و یا کامنتهای بی فایده است یا تغییراتی در کد به وجود آمده که باعث شده تستها دیگر کارآیی نداشته باشند. همهی ما با این چالشها روبرو شدهایم. شاید ما خودمان باعث رخداد این اتفاقات شده باشیم، اما لازم نیست که اوضاع همینطور باقی بماند. داشتن چک لیست همان راهحل سادهای است که میتواند به شما کمک کند.
شاید این ایده ساده به نظر برسد، اما در واقع اینطور نیست. این بدان خاطر است که ما انسان هستیم و میتوانیم مرتکب اشتباه شویم. یک چک لیست به شما یادآوری میکند که باید کدهای مرده و کامنتهای غیرضروری را حذف کنید. این موضوع به شما یادآوری میکند که باید در مورد نامگذاری به درستی فکر کنید. آیا t یک اسم معنادار برای متغیر است؟
جدول محتوا
جلوگیری از چیزهای قابل پیشگیری
من هر روز به طور حرفهای کدنویسی میکردم اما متوجه شدم که همان اشتباهات قبلی را دائماً انجام میدهم. اینجا بود که از اهمیت چک لیست ها مطلع شدم. به همین خاطر تصمیم گرفتم تا چک لیستی را تهیه کنم و مراحل اصلی پروسهی کدنویسی خود را در آن یادداشت کنم. من حتی تا الان هم از آن چک لیست استفاده میکنم.
وقتی مقالهای را مینویسم، آن را به چک لیست خود محول میکنم. اینها به من یادآوری میکنند که باید چه کارهای مهمی را انجام دهم؛ کارهایی مثل اضافه کردن لینک به هر منبع خارجی که در مقاله به آن اشاره شده است.
انجام این کار به من کمک میکند تا از رخداد اشتباهاتی جلوگیری کنم که قابل پیشگیری هستند. همچنین یک چک لیست میتواند به کسب اطمینان از دقت و بار شناختی کمک کند. با این کار مسائل کمتری در ذهنم وجود خواهند داشت. در واقع وقتی برنامه نویسی را شروع کردم، ساخت چک لیست را نیز با همان دلایل آغاز کردم.
دقت
دلیل اصلی استفاده از چک لیست، اطمینان از دقیق و کامل بودن کار شماست. آیا تمام تستها گذرانده شدهاند؟ آیا نام توابع شما میتواند کارهای خود را به روشنی توصیف کند؟ آیا خطوط خالی در انتهای فایل را حذف کردهاید؟
یک چک لیست توجه شما را دوباره متمرکز میکند و باعث میشود تا به موضوعاتی توجه کنید که از آنها غافل بودهاید. چک لیست به شما یادآوری میکند که نام متغیر t برای هر شخصی که کدهای شما را بخواند، بی معنی است. به شما یادآوری میکند که قالببندی را مرتب کنید. به شما یادآوری میکند که تستها را اجرا کرده و مطمئن شوید که آنها نتیجه دادهاند.
اشتباهات قابل پیشگیری
یک چک لیست میتواند به شما کمک کند تا اشتباهات قابل پیشگیری را تشخیص دهید. من قبلا یکpull request را باز کردم اما فراموش کردم که ماژولهای node را به فایل gitignore اضافه کنم. به همین خاطر فایلهای غیرضروری زیادی به pull request اضافه شد.
اگر این موضوع در چک لیست لحاظ شده بود، میشد به آسانی از بروز آن جلوگیری کرد. مشخصاً قرار دادن node-modules در یک فایل gitignore منطقی به نظر میرسد. پرهیز از اشتباه تایپی نیز منطقی است. خیلی چیزها واضح به نظر میرسند اما وقتی تحت آن شرایط قرار میگیرید، میتواند متفاوت باشد. اینجاست که همه چیز برایتان گیجکننده میشود، من نیز آن را تجربه کردهام.
اشتباهات اتفاق میافتند و ادامه خواهند یافت. استفاده از یک چک لیست به شما کمک میکند تا این اشتباهات را قبل از ارسال کارهای خود شناسایی کنید.
بار را کاهش دهید
در حال حاضر چیزهای زیادی وجود دارد که هنگام برنامه نویسی باید به آنها فکر کنید. به منظور کاهش بار شناختی، مقداری از آنها را به چک لیست بسپارید. با این کار کمتر به برخی چیزها فکر خواهید کرد و این یکی دیگر از دلایل اهمیت چک لیستهاست.
من ترجیح میدهم انرژی خود را روی پیچیدگیهای کد نوشتن متمرکز کنم و کارهای ساده اما مهم را با تکیه بر چک لیست انجام دهم. یک چک لیست میتواند نگرانی و اضطراب از انجام برخی کارهای پیچیده را کاهش دهد. من هیشه بعد از ارسال کارهای خود میپرسم: آیا فلان کار را انجام دادم؟ آیا لازم است که فلان چیز را دوباره بررسی کنم؟
نگرانی بیش از حد باعث دیوانه شدن من شد. بعلاوه در آن زمان من با نگرانی بی مورد انرژی با ارزشی را هدر میدادم. به همین خاطر لیستهای بیشتری را به وجود آوردم. این لیستهای کوچک (اما هدفمند) مختص کارهای مختلف من در زمینه نوشتن بودند.
من قبلاً هم به چک لیستِ نویسندگی خود اشاره کردم اما چند مورد دیگر هم دارم. من یک چک لیست خاص برای ویرایش مقالات و همچنین ارسال مقالات جدید به freeCodeCamp دارم. این چک لیستهای هدفمند باعث آرامش خاطر من شده است. در واقع به من آزادی داده است.
من چک لیستهای مشابهی را نیز برای برنامه نویسی دارم. آنها هم برای پوشش دادن به بخش وسیعی از وظایف من هدفگذاری شدهاند. مثلاً من یک چک لیست برای حل مسئله دارم. هر بار که مشکلی را حل میکنم، وارد این چک لیست میشوم تا مطمئن شوم که این راهحل بهترین باشد. من چک لیستهایی هم برای ساختن بخش frontend و backend یک برنامه دارم.
این چک لیستها باعث کاهش چشمگیر نگرانیهای بی مورد میشوند.
عادتهای خوب بسازید
تا الان در مورد چک لیستها و مزایای آنها صحبت کردم. اما همچنان یک دلیل دیگر برای استفاده از چک لیست وجود دارد، یعنی خلق عادتهای خوب.
به عنوان مثال وقتی مشغول یادگیری نتایج API بودم، یک چک لیست نوشتم. این چک لیست مراحل اصلی برای نوشتن یک نتیجه یا نقطه پایانی را شامل میشود:
- در دفترچه یادداشت من بنویسید که نقطه پایانی چه کاری را انجام میدهد (مثلاً "عنوان" یک پست خاص را بروز کنید)
- درخواستهای SQL مورد نیاز نقطه پایانی را بنویسید و آن را در دیتابیس اجرا کنید.
- در دفترچه یادداشت من پاسخهای مختلفی را برای نقطه پایانی ترسیم کنید
مطمئناً مراحل بیشتری وجود دارد اما شما منظورم را درک کردهاید. من مراحل اصلی نوشتن موثر یک نتیجه را قبل از کدنویسی مستند کردم. این به من کمک کرد تا واقعاً بفهمم که چه کار میکنم. همچنین توانستم فرضیههای خود را آزمایش کنم. هنگام استفاده از این چک لیست، اشتباهات خیلی کمتری را مرتکب شدم و اصول مهمی را به ذهن خود اضافه کردم.
چک لیست خودتان را بسازید
ساخت یک چک لیست بسیار ساده است. مراحل مهم یک فرآیند را هنگام انجام آن مشخص کنید. به عنوان مثال اگر مشغول ساخت بخش backend یک پروژه هستید، باید به نکات کلیدی یا بخشهایی که مستعد خطا هستند توجه داشته باشید.
من سعی میکنم لیستهای خود را در چند مرحله بسازم. یک چک لیست با پنج تا هفت آیتم، قابل کنترل بوده و ترس کمتری دارد. این باعث میشود تا استفاده از آن برای من مناسبتر باشد. در حالی که لیستی با ۲۰ آیتم یک زیادهروی به حساب میآید. هدف این است که به بخشهای اصلی یک فرآیند ضربه بزنید، نه اینکه یک مقاله فنی در مورد آن بنویسید.
سپس چک لیست خود را در دسترس قرار دهید. لیست بررسی نام متغیر من به دیوار کنار میز آویزان است چون تقریباً برای انجام تمام کارهای مرتبط با برنامه نویسی از آن استفاده میکنم. بقیه چک لیستها در کامپیوترم ذخیره میشوند و در صورت لزوم آنها را باز میکنم.
چکلیست مثل میوهای آویزان شده به درخت است. شاید کاملاً تمیز نباشد، اما میتواند در لحظه چیزهای زیادی را به شما بدهد. این یک ابزار بسیار ساده و قدرتمند است.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید