پایتون
عمومی
آشنایی با linting (مینی دوره)
توی برنامه نویسی اصطلاحی به اسم linting وجود داره که برنامهنویسهای کمی با اون آشنا هستن. یکی از علتهای اصلیش اینه که text editor ها و IDE ها به صورت پیش فرض این کار رو برای ما انجام میدن. اما دونستن نحوهی کار اونها و این که پشت پرده دقیقا چه اتفاقی میوفته برای یه برنامه نویس واجبه.
- 30 ثبت نام
- متوسطه
دربارهی دوره
توی برنامه نویسی اصطلاحی به اسم linting وجود داره که برنامهنویسهای کمی با اون آشنا هستن. یکی از علتهای اصلیش اینه که text editor ها و IDE ها به صورت پیش فرض این کار رو برای ما انجام میدن. اما دونستن نحوهی کار اونها و این که پشت پرده دقیقا چه اتفاقی میوفته برای یه برنامه نویس واجبه.
اول از همه بذارید با linting آشنا شیم:
توی برنامه نویسی، linting به پروسهی شناسایی باگها و مشکلات مرتبط با نحوهی نوشتن کد گفته میشه. این کار توسط ابزارهایی به اسم linters انجام میشه. لینترها برای اکثر زبانهای برنامه نویسی به صورت رایگان قابل استفاده هستند. برای این که بخوایم سادهتر لینترها رو توضیح بدیم، میتونیم بگیم لینترها مثل ابزارهایی هستن که غلطهای املایی و گرامری ما رو توی نوشتهها به ما نشون میدن.
علاوه بر لینترها، ما ابزارهای دیگهای رو هم داریم به اسم auto-formatter. با کمک این ابزارها ما میتونیم فرمت نوشتن کدمون رو به صورت استاندارد در بیاریم.
چرا linting توی پایتون اهمیت داره؟
توی سال ۲۰۰۱، مقالهای برای pep8 نوشته شد که به ما نشون میده یه کد تمیز پایتونی چه خصوصیاتی باید داشته باشه. هرچند که دونستن pep8 خیلی مهمه، ولی این که بخوایم همیشه به اونها توجه کنیم یه مقدار سخته و معمولا بعضی چیزها فراموش میشن. به همین خاطر هستش که linter ها اینجا به کمک ما میان و به ما کمک میکنن خطاهایی که توی کدمون هست رو رفع کنیم.
به حالت کلی، linting به ما مزیتهای زیر رو میده:
- خوانایی: با کمک لینترها، کدهای ما خواناتر میشه.
- دیباگ کردن: یکی از مزایای اصلی لینترها، امکان دیباگ کردن کد بدون نیاز به اجرای کد هست.
- یکسان بودن کد: وقتی تعداد دولوپرهای یه پروژه از یکی بیشتر میشه، هر کسی به شکلی که عادت داره کدش رو مینویسه. لینترها به ما کمک میکنن تا استایل یکسانی رو توی کد پروژه رعایت کنیم.
توی این دوره، قراره با لایبرریهای زیر آشنا بشیم:
- pylint
- flake8
- black
علاوه بر این ماژولها، با pep8 هم آشنا میشیم و بخشهای مهم اون رو بررسی میکنیم.
دربارهی مدرس
سلام! من بهمن شادمهرم من بهمنام، یه برنامهنویس و توسعهدهنده نرمافزار که عاشق چالشهای فنیام! این چند سال گذشته، بیشتر وقتهام رو صرف این کردم که با یه لپتاپ و یه اینترنت درستحسابی، سیستمهای عجیب و غریب بسازم و مشکلات بقیه رو حل کنم (از همونایی که میگن "این دیگه چطوری کار میکنه؟"). از نوشتن کدهای باحال و اتوماتکردن سیستمهای انرژی گرفته تا تریدینگ با دادههای پرسرعت، حسابی سرم شلوغ بوده. یه پروژهای داشتم که حسابی دردسرساز بود ولی آخرش تونستم با بهینهسازی زیرساخت، ۵۰ درصد هزینهها رو کاهش بدم! (میدونی وقتی هزینه رو اینقدر کم میکنی، چه جوری همه باهات رفیق میشن؟!). بعضی از پروژههایی که انجام دادم: CoffeeCodeCamp: یه پلتفرم که بهتون یاد میده کد بزنید و هر چی نوشتید رو هم خودش تست میکنه! MasterYourCourses: یه سیستم مدیریت دورههای آموزشی که کاملترین امکانات رو داره. CryptoCasting: این یکی برای عاشقای تریدینگ! پلتفرمی برای جمعآوری دادههای با سرعت بالا. اگه بخوام از مهارتهام بگم، بیشتر با پایتون و گلانگ ور میرم، توی AWS و GCP غرقم و از Docker و Kubernetes هم برای نگهداشتن سرویسها استفاده میکنم (یه جورایی مثل کارهای عادی روزمرهم شدن اینا!). همیشه دوست دارم با سیستمهای پیچیده سر و کله بزنم و کدهای خفنتر بنویسم. راستش از اینکه زیرساختهای نرمافزاری رو بهینه کنم و هزینهها رو پایین بیارم هم بد نمیاد؛ آخه کی از کمشدن هزینهها بدش میاد؟!
نظرات کاربران (0)
سوالات متداول این دوره
رایگان
پیش نیازهای این دوره
پیش نیازی ندارد