من ربات ترجمیار هستم و خلاصه مقالات علمی رو به صورت خودکار ترجمه میکنم. متن کامل مقالات رو میتونین به صورت ترجمه شده از لینکی که در پایین پست قرار میگیره بخونین
دانشمندان داده، شما باید چگونگی کد نوشتن را یاد بگیرید.
منتشرشده در towardsdatascience به تاریخ ۱۰ می ۲۰۲۱
لینک منبع: Data Scientists, You Need to Know How to Code
میدانم که در حال فکر کردن به چه چیزی هستی- البته که میدانم چطور کد بنویسم، دیوونه شدی؟ شما هر روز هزاران کد و صدها خط در دفترچههای Jupyter مینویسید. واضح است که شما میتوانید کد بنویسید. اینطور نیست که شما مدلهای یادگیری ماشین را با دست یا در اکسل آموزش میدهید (البته این امکان وجود دارد(.
پس منظور چیست؟
دوست ندارم این را بگویم، اما فکر نمیکنم بسیاری از دانشمندان دانش برنامهنویسی، واقعا برنامهنویسی شده باشند. شما از زبانهای برنامهنویسی به عنوان ابزاری برای کشف دادهها و ساخت مدلها استفاده میکنید. اما برنامهای که شما ایجاد میکنید چیزی نیست که واقعا زیاد به آن فکر کنید تا زمانی که کار را به اتمام برساند.
کد شما معمولا شلوغ است و ممکن است حتی به صورت متوالی اجرا نشود (به لطف نوتبوکها). شما احتمالا هرگز هیچ آزمون واحدی ننوشتهاید و دانش کمی در مورد چگونگی نوشتن عملکردهای خوب و قابلاستفاده مجدد دارید. اما، همانطور که علم داده بیشتر و بیشتر در محصولات واقعی تعبیه میشود، این نوع کد آن را کاهش نمیدهد. شما نمیتوانید به کد بد اعتماد کنید و کدگذاری محصولات با آن منجر به بدهی فنی بسیار زیاد و تجربه بد کاربر میشود.
شما میگویید، «بسیار خب، بسیار خب، اما من یک دانشمند داده و برنامهنویس هستم، نه یک مهندس نرمافزار.» من مدلها را میسازم و این مشکل نفر دیگر است که کد را پاک کند. در حالی که ممکن است این مساله در برخی از شرکتها جواب دهد، من عمیقا معتقدم که الگوی بسیار بهتری برای دانشمندان داده این است که یاد بگیرند چگونه کد بهتری بنویسند. شما ممکن است هرگز به یک مهندس نرمافزار سطح بالا تبدیل نشوید، اما برنامهنویسان میتوانند کدی بنویسند که قابل اعتماد باشد و با کمی کار به تولید برسد.
با وظایف خود شروع کنید:
زمانی که یاد میگیرید چگونه کد خود را تراز کنید، با نحوه نوشتن کارکردها شروع کنید. اکثر کدها تنها یک سری از توابع (یا کلاسهای بالقوه) هستند و اگر شما بتوانید نوشتن توابع نسبتا خوب را یاد بگیرید، راهی طولانی را برای بهبود کیفیت کدتان طی خواهید کرد.
وظایف شما حداقل باید:
- فقط یک کار بکنید.
- داشتن مستندات
- استفاده از نامهای متغیر خوب
در حالی که کتابهای کاملی در مورد نحوه نوشتن توابع تمیز نوشته شدهاند، این ۳ مورد مکان خوبی برای شروع هستند.
شما هرگز نباید عملکردی داشته باشید که احساس کند سعی دارد بیش از یک کار واحد را انجام دهد. برخی از نشانهها نشان میدهد عملکرد شما بسیار زیاد است.
- بیشتر از یک صفحه نمایش طول دارد و یا تقریبا ۳۰ خط کد دارد (طبق تجربه من.)
- به خاطر تعداد کارهایی که انجام میدهد، به سختی میتوانید کارکرد خود را به وضوح نام ببرید.
- این شامل کد زیادی در بلوکهای if / else است که در واقع باید به توابع جداگانه تقسیم شوند.
کارکردهایی که فقط یک کار را انجام میدهند مهم هستند زیرا درک، مدیریت و آزمایش کد شما را آسانتر میکند (بیشتر در مورد آزمایش بعدا.)
هر تابعی که برای تولید آزاد میشود باید یک رشته سند داشته باشد و آن رشته باید آنچه را که تابع انجام میدهد توصیف کند، اطلاعاتی در مورد پارامترهای ورودی داده و به طور بالقوه چند مثال ساده از چگونگی استفاده از تابع ارائه دهد. شما در آینده از خودتان تشکر خواهید کرد زمانی که وظایف خود را به خوبی مستند کردهاید و دیگران زمان بسیار کمتری برای درک کد شما نیاز خواهند داشت.
در نهایت، لطفا از نامهای متغیر قابلدرک و مفید استفاده کنید. بسیاری از دانشمندان داده از استفاده از نامهای متغیر مانند «a»، «a1» و « a2» راضی نیستند. نامهای متغیر کوتاه و غیر مفید در هنگام آزمایش سریعتر تایپ میشوند، اما هنگام تولید کد اطمینان حاصل کنید که نامهای متغیر شما به دیگران در درک کد شما کمک خواهند کرد.
مطالعه مقاله میانبرهای صفحهکلید برای بهبود بهرهوری کدگذاری شما توصیه میشود
بیانیههای چاپ را حذف کنید.
دانشمندان داده اغلب از بیانیههای چاپی برای نمایش اطلاعات در مورد آنچه که اتفاق میافتد استفاده میکنند. با این حال، در تولید، این اظهارات چاپی، اگر دیگر مورد نیاز نباشند، یا باید حذف شوند و یا به اظهارات لگاریتمی تبدیل شوند.
ورود به سیستم باید نحوه برقراری ارتباط با اطلاعات و خطاهای کد شما باشد. یک کتابخانه پایتون مناسب برای سادهتر کردن ورود به سیستم، Loguru است. این به طور خودکار از بسیاری از قسمتهای آزار دهنده مربوط به ورود به سیستم مراقبت میکند و بیشتر شبیه به استفاده از عبارات چاپی است.
از راهنمای سبک استفاده کنید.
راهنماهای سبک در برنامهنویسی برای سهولت کار بر روی یک کد برای بسیاری از افراد استفاده میشود، اما بیشتر به نظر میرسد که این کد توسط شخصی رمزگذاری شده است.
چرا این موضوع حائز اهمیت است؟
زمانی که یک سبک سازگار دارید، هدایت و درک کد را بسیار آسانتر میکند. شگفتانگیز است که هنگام استفاده از یک راهنمای سبک تشخیص یک اشکال چقدر میتواند آسانتر باشد. مطابقت با یک روش استاندارد نوشتن کد، هدایت آن کد را برای شما و دیگران آسانتر میکند.
این بدان معناست که شما نیازی به صرف زمان زیادی برای بستهبندی چگونگی قالببندی کد برای درک آن ندارید و میتوانید بر روی آنچه کد انجام میدهد و اینکه آیا آن را به درستی انجام میدهد تمرکز کنید. راهنمایPEP ۸ احتمالاً پرکاربردترین راهنمای سبک برای پایتون است. با این حال، افراد زیادی در بیرون این وجود دارند. منبع محبوب دیگر راهنماهای سبک Google است زیرا راهنماهای سبک داخلی خود را عمومی کرده است.
مهم این است که یکی از آنها را انتخاب کنید و سعی کنید به آن پایبند باشید. یکی از روشهای آسانتر این است که IDE خود را قادر به بررسی خطاهای سبک و تنظیم چکهای سبک کنید که در صورت عدم پیروی از راهنمای سبک، از فشار دادن کد جلوگیری میکند.
شما همچنین میتوانید با استفاده از یک قالب ساز خودکار که به صورت خودکار کد شما را برای شما فرمت میکند، حتی بیشتر استفاده کنید. این موارد به شما امکان میدهد کد را به هر شکلی که میخواهید بنویسید و سپس هنگام اجرا کد شما را به صورت خودکار قالب میکند تا مطابق با استاندارد باشد.
یکی از محبوبترین آنها برای پایتون، Black است.
ممکن است علاقهمند به مطالعه مقاله چگونه ظرف ۶ ماه بدون دانش کدنویسی دانشمند داده شدم باشید.
آزمایشهایی را بنویسید.
من متوجه شدم که اکثر دانشمندان داده از آزمایشها میترسند، زیرا آنها واقعا نمیدانند که چگونه با آزمایشات شروع کنند. در واقع، بسیاری ار برنامهنویسان چیزی را اداره میکنند که من آن را آزمایشهای موقت مینامم. به نظر من معمول این است که یک دانشمند داده به سرعت چند \"بررسی منطقی\" از عملکرد جدید را در دفترچه یادداشت خود انجام میدهد. شما از چند مورد تست ساده عبور میکنید و اطمینان حاصل میکنید که تابع مطابق انتظار اجرا میشود.
مهندسان نرمافزار این فرآیند را تست واحد مینامند.
با این حال، تنها تفاوت این است که اغلب دانشمندان داده فقط آن آزمایشهای موقتی را حذف میکنند و به راه خود ادامه میدهند. در عوض، شما باید آنها را ذخیره کنید و اطمینان حاصل کنید که هر بار قبل از فشار دادن کد اجرا میشوند تا مطمئن شوید که چیزی خراب نشده است.
برای شروع استفاده از پایتون، من با تست pytest شروع کردم. با استفاده از pytest میتوانید به راحتی تستها را ایجاد کرده و همه آنها را در یک زمان اجرا کنید تا مطمئن شوید که رد میشوند.
یک راه ساده برای شروع این است که یک دایرکتوری به نام \"test\" داشته باشید و در آن دایرکتوری فایلهای Python داشته باشید که با \"test\" شروع میشوند.
به عنوان مثال، شما میتوانید\"test_addition.py\" داشته باشید
# content of test_addition.py
def add(x, y):
return x + y
def test_add():
assert add(3, 2) == 5
به طور معمول، شما عملکرد واقعی خود را در یک فایل پایتون دیگر خواهید داشت و آن را به ماژول تست خود وارد خواهید کرد. همچنین شما هرگز نیازی به آزمایش افزودن پایتون نخواهید داشت، اما این تنها یک مثال بسیار ساده است.
در این مدلهای آزمایشی، شما میتوانید تمام «بررسی سلامت» کارهایتان را حفظ کنید. به طور کلی نهتنها تمرین خوبی برای تست نکردن موارد معمول، بلکه موارد حاشیهای و موارد خطای بالقوه را نیز امتحان کنیم.
توجه: انواع مختلفی از تستها وجود دارند. من فکر میکنم آزمون واحد بهترین آزمون برای دانشمندان داده برای شروع آزمایش است.
مطالعه مقاله همه میتوانند به راحتی برنامهنویسی را یاد بگیرند-اگر زبان انگلیسی بدانند! توصیه میشود.
بازبینی کد را انجام دهید.
آخرین مورد، اما نه کم اهمیت، در لیست موارد برتر ما برای نوشتن کد بهتر، بررسی کد است.
بررسی کد زمانی است که شخص دیگری که در نوشتن کد در حوزه شما ماهر است، کد شما را قبل از اینکه به شاخه اصلی متعهد شوید، بررسی میکند. این مرحله اطمینان حاصل میکند که بهترین شیوهها دنبال میشود و امیدوارم هر کد بد یا اشکالاتی را برطرف کند.
فردی که کد شما را بررسی میکند، ترجیحا باید حداقل به اندازه شما در نوشتن کد خوب باشد، اما حتی داشتن یک نفر دیگر که کد شما را بررسی کند، میتواند به طور باورنکردنی مفید باشد. تنبل بودن بسیار انسانی است و میتوان به راحتی اجازه داد که تنبلی به کد ما سر بزند.
دانستن این که کسی کد شما را بررسی خواهد کرد، انگیزه خوبی برای صرف زمان برای نوشتن کد خوب است. این بهترین راهی است که من برای بهبود پیدا کردهام. داشتن یک همکار با تجربهتر که کد شما را بررسی میکند و به شما نکاتی برای بهبود آن میدهد، بسیار ارزشمند است.
برای این که کار را برای کسانی که کد شما را بررسی میکنند آسانتر کنید، سعی کنید مقدار کد جدید را کم نگه دارید. بررسی کد کوچک و مکرر به خوبی انجام میشود. بازبینیهای نامکرر و عظیم کدها وحشتناک هستند. هیچکس نمیخواهد ۱۰۰۰ ثانیه از خطوط کد را برای بررسی ارسال کند. این بازبینیها تمایل به ارائه بازخوردهای بدتر دارند زیرا فرد نمیتواند زمان لازم را برای درک واقعی آن همه کد در یک زمان صرف کند.
سطح کدگذاری خود را بالا ببرید.
امیدوارم این مقاله به شما الهام بخشیده باشد که برای یادگیری نحوه نوشتن کد بهتر وقت بگذارید. لزوما سخت نیست، اما به زمان و تلاش برای بهبود نیاز دارد. اگر این ۵ پیشنهاد را دنبال کنید، من مطمئن هستم که متوجه بهبود زیادی در کیفیت کد خود خواهید شد.
در آینده شما و همکارانتان از شما تشکر خواهند کرد.
این متن با استفاده از ربات ترجمه مقالات علوم کامپیوتر ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه میتواند دارای برخی اشکالات ترجمه باشد.
مقالات لینکشده در این متن میتوانند به صورت رایگان با استفاده از مقالهخوان ترجمیار به فارسی مطالعه شوند.
مطلبی دیگر از این انتشارات
زمان برای ملاقات آدم فضاییها در حال به پایان رسیدن است
مطلبی دیگر از این انتشارات
یادگیری ماشین قفل کتابخانه مغز انسان را باز میکند
مطلبی دیگر از این انتشارات
نمایش قوی دیپمایند آلفاکد هوش مصنوعی در مسابقات برنامهنویسی در برابر انسان