۵ ابزار توسعه برای بهبود بهره وری برنامه نویسان | راهنمای کاربردی
زمان همیشه یکی از منابعی است که توسعهدهندگان کم دارند. از ددلاینهای سخت تا پروژههای چندگانه و تا الزامات پیشبینینشده زمان به طور مداوم جزو نیازهای ضروری ماست. به همین دلیل است که همواره به دنبال ابزارها و فرایندهایی میگردیم که به افزایش بهرهوری ما کمک کند. در این مقاله با 5 ابزار توسعه برای بهبود بهرهوری برنامهنویسان آشنا خواهیم شد.
تسلط بر خط فرمان با Oh My Zsh
یادگیری اینترفیسهای پیشفرض برای سیستمهای عامل ویندوز و OS X یعنی Command Prompt و Bash ممکن است خستهکننده باشد و سفارشیسازی آنها نیز دشوار است. اگر یک کارشناس خبره نباشید، ممکن است در نهایت متوجه شوید مداوماً در حال اجرای کارهای تکراری هستید که میتوانستید آنها را به صورت خودکار انجام دهید.
Oh My Zsh یک فریمورک اوپن-سورس و مبتنی بر تلاش جمعی است که بر مبنای Zsh ساخته شده یک پوسته خط فرمان است که بسیاری از افراد کار با آن را آسانتر و بهتر از گزینههای پیشفرض میدانند.
Oh My Zsh تعداد زیادی پلاگین (250 عدد) و تم (140 عدد) به صورت آماده دارد و شما میتوانید ترمینال خود را بر اساس ترجیحهای شخصی سفارشیسازی کنید.
Oh My Zsh سریعتر و کار با آن راحتتر است و به شما امکان میدهد که به سادگی همه کارهای روزمره خود را به صورت خودکار اجرا کنید. از آنجا که خط فرمان به طرز فزایندهای در حال تبدیل شدن به گردش کار هر توسعهدهندهای محسوب میشود، Oh My Zsh میتواند یک ابزار عالی برای ارتقای بهرهوری باشد و از این رو باید در کارهای روزانه خود آن را مورد استفاده قرار دهید.
نصب Oh My Zsh روی رایانه کاری سرراست محسوب میشود:
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
همچنین نصب پلاگینها و تمهای سفارشیسازی نیز همین قدر آسان است. Oh My Zsh یک جامعه مشارکتکنندگان بزرگ و فعال نیز دارد. در واقع بیش از 1500 نفر در این پروژه مشارکت دارند.
پس از مدتی که از Oh My Zsh استفاده کنید با روش مدیریت گردش کار آشنا میشوید و متوجه خواهید شد که کار با ترمینال چه قدر آسان است. استفاده از Oh My Zsh به شما کمک میکند که در زمان استفاده از خط فرمان احساس راحتی بیشتری داشته و بهرهوری کار خود را بالا ببرید. پیشنهادهای خودکار و اسامی مستعار به طور خاص باعث افزایش سرعت کار و ارتقای بهرهوری میشوند. برخی از محبوبترین پلاگینها به شرح زیر هستند:
- Heroku: تکمیل خودکار برای Heroku CLI
- zsh-autosuggestions: پیشنهاد خودکار برای دستورهای قبلی
- npm: تکمیل خودکار و اسامی مستعار برای npm
تست API-ها به صورت درجا با Insomnia
تست کردن نقاط انتهایی REST میتواند کاری پرزحمت، زمانگیر و سردرگمکننده باشد. Insomnia (+) یک کلاینت گرافکیوال و Rest اوپن-سورس و کراس پلتفرم است که نه تنها بسیار قدرتمند است، بلکه یک UI ساده و شهودی دارد که موجب سهولت تست کردن میشود. این کلاینت موجب آسانتر شدن کارها میشود و دارای قابلیتهای زیر است:
- تولید قطعه کد: Insomnia میتواند کد کلاینت را برای بیش از 20 زبان برنامهنویسی شامل Node.js، Go، Swift، Python، Java و C تولید کند.
- سیستم پلاگینها: سیستم پلاگینها به ما امکان میدهد که کارکرد اینسومنیا را ارتقا بدهیم. به این ترتیب میتوان یک تگ قالب سفارشی را برای رندر کردن مقادیر سفارشی ایجاد کرد و یا یک تگ رنگی سفارش با استفاده از Plugins API (+) ساخت.
- متغیرهای محیطی: این متغیرها مقادیر با قابلیت استفاده مجدد هستند که در ورودی متنی درون Insomnia استفاده میشوند. برخی متغیرهای رایج شامل URL-های مبنا، توکنهای احراز هویت و ID-های منبع هستند.
یکی از مفیدترین قابلیتهای Insomnia پشتیبانی از GraphQL است. دموی زیر گردش کار نوعی را برای کوئری زدن به نقطه انتهایی GraphQL نمایش میدهد.
در این مثال ما یک درخواست با استفاده از API عمومی GraphQL به نام countries ارسال میکنیم. امکان تولید خودکار Insomnia یک اسکیما در زمان ارسال URL تولید میکند. پس از ارسال کوئری در سمت چپ، پاسخ در سمت راست بازگشت مییابد:
این اپلیکیشن قابلیتهای مفید زیادی دارد که میتواند به بهبود گردش کار کمک کند. برای نمونه در تصویر زیر امکان استفاده از متغیرهای محیطی را میبینیم:
زمانی که با API-ها کار میکنیم، معمولاً باید مقادیر یکسانی را روی درخواستهای متعدد تکرار کنیم. اجرای دستی این کار، دشوار و زمانگیر است. استفاده از متغیرهای محیطی این مشکل را از طریق فراهم ساختن امکان تعریف یک مقدار و سپس ارجاع به آن مقدار در موارد نیاز حل میکند.
ارتقای امکانات گیت با hub
اغلب ما بخش عمده خود را در گیتهاب صرف میکنیم. hub یک ابزار خط فرمان است که به اجرای کارهای روزمره مرتبط با گیتهاب بدون نیاز به سوئیچ کردن مداوم به ترمینال کمک میکند.
Hub یک پوشش برای گیت است که بر کارکردهای آن میافزاید. از جمله امکان کلون کردن ریپازیتوریها، فهرستبندی issue-های جدید باز و اشتراک لاگها و قطعهکدها را از طریق Gist فراهم میآورد. در واقع hub نه تنها امکان کار با گیتهاب را تسهیل میکند، بلکه بهرهوری کار را نیز با گردآوری همه ابزارها در یک محیط ارتقا میدهد.
فهرست کارهایی که میتوان با استفاده از hub انجام داد، بسیار گسترده است. شما با اجرای دستور man hub در ترمینال میتوانید این فهرست را مشاهده کنید.
دسترسی به مستندات آفلاین با DevDocs
ما همگی از مستندات استفاده میکنیم. زمانی که با مجموعهای از فناوریهای مختلف کار میکنیم، سوئیچ کردن بین مجموعه مستندان مختلف هر فناوری ممکن است کاری زمانگیر و ناراحت باشد.
DevDocs (+) این مشکل را حل میکند. DevDocs یک ابزار اوپن-سورس و رایگان برای گردش در طیف متنوعی از مستندات زبانهای برنامهنویسی و ابزارهای توسعه است که همگی را در یک UI وب تمیز و مرتب گرد هم آورده است.
- مزیتهای DevDocs
- جستجوی آنی
- پشتیبانی از مرور آفلاین
- پشتیبانی از موبایل
- تم تیره
- میانبرهای کیبورد
- و موارد زیاد دیگر
شما میتوانید از DevDocs برای مرور مستندات زبانهای برنامهنویسی و ابزارهای مختلف استفاده کنید. برای نمونه از آن میتوان برای خواندن و جستجوی مستندات Vue و Cypress به طور همزمان استفاده کرد.
مقیاسبندی تصاویر SVG با SVGOMG
SVGOMG (+) یک ابزار آنلاین برای بهینهسازی گرافیکهای برداری مقیاسپذیر یعنی فایلهای SVG است.
تصاویر SVG نسبت به فرمتهای دیگر مانند PNG یا JPEG ترجیح دارند، زیرا امکان مقیاسبندی و حفظ واکنشگرایی را روی انواع مختلف دستگاهها با اندازههای متفاوت فراهم میسازند. یک عیب استفاده از SVG این است که فایلها به جهت اطلاعات تکراری موجود درون فایل مانند متادیتای ادیتور، توضیحها، عناصر پنهان و مقادیر غیر بهینه پیشفرض، بیش از حد بزرگ میشوند.
SVGOMG ابزاری است که این دادههای تکراری را به صورت امنی حذف کرده و فایل را برای کاهش اندازه بهینهسازی میکند.
تصویر فوق یک سناریوی معمول را نشان میدهد که فایل SVG به میزان 69.42% بهینهسازی شده است. این یک ابزار کاملاً ساده است، اما میتواند موجب بهبود عملکرد کلی وبسایت شود و از شلوغ شدن صفحه وب جلوگیری کند. SVGOMG یک پیادهسازی UI از SVGO Optimizer (+) است که یک ابزار خط فرمان مبتنی بر Node.js است.
سخن پایانی
یافتن روشهایی برای بهبود کارها حائز اهمیت بالایی است. با بهرهگیری از ابزارهای توسعه که در این مقاله مورد اشاره قرار گرفتند، میتوانید بهرهوری کار خود را ارتقا داده و گردش کار خود را بهبود ببخشید. در کار خود به استفاده از ابزارهایی اولویت بدهید که گرش کار را خودکارسازی میکنند تا بتوانید در زمان صرفهجویی کرده و بهرهوری بیشتر کسب کنید.