ترفندهایی که هر برنامهنویسی باید بداند
دنیای برنامهنویسی پر از ابزارها و تکنیکهایی است که میتوانند بهرهوری شما را از این رو به آن رو کنند. فرقی نمیکند در ابتدای راه باشید یا یک توسعهدهندهی باتجربه، همیشه ترفندهای جدیدی برای یادگیری وجود دارد که کدنویسی را سریعتر، تمیزتر و لذتbخشتر میکند. در این مقاله، به سراغ چند ترفند طلایی رفتهایم که مستقیماً روی گردش کار (Workflow) روزانهی شما تأثیر میگذارند.
۱. سفر در زمان با Git: پیدا کردن باگ با git bisect
فرض کنید متوجه شدهاید که یک باگ بزرگ در نسخه فعلی پروژهی شما وجود دارد، اما نمیدانید دقیقاً از کدام (Commit) به بعد این مشکل ایجاد شده است. آیا باید ده ها کامیت را یکییکی بررسی کنید؟ خیر! گیت یک ابزار جادویی برای این کار دارد.
- ترفند
git bisect: این دستور به صورت خودکار و با استفاده از الگوریتم جستجوی دودویی (Binary Search)، تاریخچهی کامیتهای شما را نصف میکند تا در کمترین زمان ممکن، دقیقا کامیتی که باعث ایجاد باگ شده را پیدا کند. - نحوه استفاده:
- با دستور
git bisect startاین قابلیت را فعال کنید. - با
git bisect badبه گیت بگویید که کامیت فعلی (HEAD) خراب است. - یک کامیت قدیمیتر که میدانید سالم بوده را با دستور
git bisect good <commit-hash>مشخص کنید. - حالا گیت به صورت خودکار بین این دو کامیت جابجا میشود و از شما میپرسد که آیا نسخهی فعلی سالم است (
good) یا خراب (bad). شما فقط کافیست کد را تست کرده و پاسخ دهید. بعد از چند مرحله، گیت دقیقاً کامیت مجرم را به شما نشان خواهد داد! 🎯
- با دستور
۲. لاگگیری (Logging) هوشمند با console.log حرفهای
همهی ما از console.log() برای دیباگ کردن کدهای جاوااسکریپت استفاده میکنیم، اما این ابزار قابلیتهای بسیار بیشتری از نمایش یک متغیر ساده دارد.
- ترفندها:
- نمایش جدولی (
console.table): اگر یک آرایه از آبجکتها دارید، به جای لاگ کردن کل آرایه، ازconsole.table(myArray)استفاده کنید. خروجی به صورت یک جدول زیبا و خوانا در کنسول نمایش داده میشود. - گروهبندی لاگها (
console.group): برای جلوگیری از شلوغ شدن کنسول، میتوانید لاگهای مرتبط را دستهبندی کنید. باconsole.group('Fetching User Data')یک گروه باز کنید، لاگهای خود را بنویسید و باconsole.groupEnd()آن را ببندید. این گروهها به صورت تودرتو و قابل باز و بسته شدن نمایش داده میشوند. - استایلدهی به لاگ: میتوانید به لاگهای خود استایل CSS بدهید! مثال:
console.log('%c Hello World!', 'color: blue; font-size: 20px;');
- نمایش جدولی (
۳. قطعه کدهای آماده (Snippets): تایپ کمتر، کد بیشتر!
آیا تا به حال شده یک قطعه کد تکراری (مانند یک for loop یا ساختار یک کامپوننت React) را صدها بار تایپ کنید؟ با اسنیپتها، فقط کافیست چند حرف کلیدی را تایپ کرده و کلید Tab را بزنید تا کل ساختار کد برای شما ایجاد شود.
- چگونه بسازیم؟ در ویرایشگرهای مدرن مانند VS Code، به راحتی میتوانید اسنیپتهای شخصی خود را بسازید.
Ctrl + Shift + Pرا بزنید وConfigure User Snippetsرا جستجو کنید.- زبان مورد نظر خود (مثلاً
javascript.json) را انتخاب کنید. - طبق الگوی مشخص شده، یک پیشوند (
prefix)، بدنه کد (body) و توضیحات (description) برای اسنیپت خود تعریف کنید. از این به بعد، با تایپ آن پیشوند، کد شما حاضر و آماده است!
۴. قدرت ترمینال داخلی در VS Code
بسیاری از توسعهدهندگان مبتدی، بین پنجره کد و یک پنجره ترمینال جداگانه برای اجرای دستورات (مثل npm start یا git commit) مدام در حال جابجایی هستند. این کار تمرکز شما را به هم میریزد.
- ترفند: از ترمینال داخلی خود VS Code استفاده کنید! با زدن کلیدهای
`+Ctrl(بکتیک)، یک ترمینال دقیقاً زیر کد شما باز میشود. شما میتوانید چندین ترمینال مختلف (برای سرور، تست، گیت و…) به صورت همزمان باز کرده و به راحتی بین آنها جابجا شوید. این کار گردش کار شما را به شدت یکپارچه و سریع میکند.
۵. کامیتهای هدفمند با git add -p
گاهی اوقات شما تغییرات زیادی در یک فایل ایجاد کردهاید، اما میخواهید این تغییرات را در چند کامیت جداگانه و معنادار ثبت کنید. به جای اینکه کل فایل را add کنید، از حالت پچ (Patch Mode) استفاده کنید.
- ترفند
git add -p: این دستور به جای اضافه کردن کل فایل بهStaging Area، تکهتکه (Hunk) تغییرات را به شما نشان میدهد و از شما میپرسد که آیا میخواهید این تکه خاص را به کامیت خود اضافه کنید یا نه (y/n). این به شما کنترل فوقالعادهای میدهد تا کامیتهای تمیز، اتمیک و حرفهای بسازید که خواندن تاریخچه پروژه را بسیار آسانتر میکند.
این ترفندها شاید در ابتدا ساده به نظر برسند، اما گنجاندن آنها در عادات روزمره کدنویسی، شما را به برنامهنویس بهتری تبدیل میکند. شما از چه ترفندهایی برای افزایش سرعت و کیفیت کار خود استفاده میکنید؟ در بخش نظرات با ما به اشتراک بگذارید!
