زبان پایتون در چند سال اخیر به زبانی پرطرفدار تبدیل شده است. یکی از دلایل اصلی این موضوع این است که این زبان تعداد بسیار زیادی کتابخانه متن باز دارد. از سویی دیگر، فریم ورک های متن باز بیشماری که این زبان در زمینه های متفاوت دارد سبب شده که پایتون به تنهایی اکثر نیازهای برنامه نویسان را مرتفع کند. یکی از مواردی که لازم است برنامه نویسان رعایت کنند تا از کارشان استقبال شود، کد زنی استاندارد در این زبان است. اگر کدزنی پایتون به شکل استاندارد نباشد، سبب می شود خوانش کد سخت شود و کاربران به سراغ کدهای متن باز دیگر بروند. عوامل متعددی در افزایش کیفیت کد دخیل هستند.
یکی از مواردی که سبب افزایش کیفیت کد می شود، داشتن documentation مناسب است. حتما دیده اید که کتابخانه هایی مثل Pytorch یا Tensorflow هم در سایتشان، هم در documentation دارای مطالب یکسانی هستند که به شکل های متفاوت نمایش داده می شوند. از سویی دیگر، برای نوشتن کتابخانه های پایتونی یا کدهای مربوط به مقالات، لازم است که به یکسری قواعد پایبند باشیم؛ برای مثال، داکیومنتیشن سایت پایتورچ که شما هم خروجی html آن را می بینید هم از مطالبش در زمان کدزنی با کمک doc string استفاده می کنید، به این شکل است که با کمک reStructuredText نوشته شده و با کتابخانه sphinx خروجی های متفاوتی از آن گرفته شده است.
مورد بعدی که لازم است در افزایش کیفیت کد پایتون در نظر گرفته شود، پایبندی به PEP8 است. برای این کار می توان از یکسری قواعد و کتابخانه استفاده کرد تا خوانایی کد مناسب باشد. در کنار موارد ذکر شده، همانطور که می دانید در پایتون نوع داده ها را مشخص نمی کنیم. این موضوع سبب بروز مشکلات متعددی می شود. با این حال کتابخانه هایی وجود دارند که علاوه بر اینکه کمک می کنند تا کیفیت کد مناسب باشد و خوانش کد سریعتر باشد، سبب می شوند که با خطاهای احتمالی سریعتر روبه رو شویم و به وجود آنها پی ببریم.
در انتها، برای افزایش کیفیت لازم است که در کد پایتون لاگ گیری داشته باشیم ولی کتابخانه لاگ نیاز به پیکربندی دارد. اگر تعداد ماژولها زیاد شود پیکردبندی لاگ سیستم کمی چالش برانگیز می شود؛ به همین خاطر، خیلی از افراد ترجیح می دهند که از تابع پرینت استفاده کنند تا نیازهایشان سریعتر مرتفع شود ولی این کار برای پروژه های با تعداد خط بالا کار درستی نیست و می تواند فرآیند اصلاح، نگه داری و توسعه کد را سخت کند. از سویی دیگر، لازم است که برنامه نویس برای خطاهایی که سمت کاربران رخ می دهد، امنیت سایتی که به زبان پایتون نوشته یا پیدا کردن خطاهای احتمالی ناخواسته و حل آنها حتما از لاگ سیستم استفاده کند.
در فصل اول این دوره، کتابخانه Sphinx را آموزش می دهیم و با کمک reStructuredText یک پروژه کامل خواهیم داشت تا بتوانید در کارهای خودتان از این موارد استفاده کنید. در این بین، نحوه درست داکیومنت نوشتن را هم با کمک پیشنهادات 257 PEP بررسی می کنیم و یکسری اصطلاح را توضیح می دهیم.
در فصل دوم، در مورد PEP 8 صحبت می کنیم و کتابخانه های بسیاری از جمله PyLint، PyCodeStyle و Black را پوشش می دهیم.
در فصل سوم، در مورد کتابخانه MyPy و type checking صحبت می کنیم. حتما وقتی از کتابخانه هایی مثل Tensorflow یا Pytorch استفاده می کنید، دیده اید که مواردی مثل Optional یا Union در آرگومانهای ورودی استفاده شده اند. مواردی این چنین نیر بررسی شده اند.
در فصل چهارم، در مورد Logging در پایتون صحبت کرده ایم و سعی کرده ایم گام به گام، نحوه عملکردش را شرح دهیم.
سردبیر بخش هوش مصنوعی وبسایت هستم. زمینه های فعالیت من عبارت است از یادگیری عمیق، یادگیری تقویتی، بازیابی اطلاعات و بینایی ماشین. به ریاضیات، جبر و بهینه سازی علاقه فراوانی دارم. تجربیات بسیاری در برنامه نویسی دارم و فریمورکهای مورد علاقه من عبارتند از django ،pytorch و tensorflow. از دانشگاه …