2 مهر 1402
تهران، خیابان آزادی، تقاطع قریب
برنامه نویسی نرم افزار

بهترین روش‌های Django – قسمت 1

بهترین روش‌های Django

من این شانس را داشته‌‌ام تا افرادی را که در حال یادگیری برنامه نویسی هستند و همچنین برای رفع برخی از خطاها نیاز به کمک دارند، راهنمایی کنم. اگرچه من تجربه استفاده از پایتون، Ruby ، .NET ، C# و جاوا اسکریپت را دارم، اما در طول سال‌هایی که به عنوان یک توسعه دهنده نرم افزار فعالیت کرده‌ام، بهترین روش‌ها را آموخته‌ام و در واقع هنوز هم در حال یادگیری هستم. در این مقاله، من بر چند تا از بهترین روش‌هایی که در طول سال‌ها کار با Django آموخته‌ام، تمرکز کرده‌ام. متوجه خواهید شد که این بهترین روش‌های Django ، بهترین روش‌های پایتون نیز هستند.

1- از نام‌های معنی‌دار و توصیفی استفاده کنید

Class Names

Class Name همیشه باید در Pascal Case باشد. این نمونه را ببینید.

به جای  teamMember،  Teammember، team_member یا teammember از TeamMember استفاده کنید. استفاده از حروف پاسکال، خواندن و درک آن را آسان می‌کند.

Variable Names

Variable Name ها باید snake case شده باشند. از استفاده از متدهای styled جاوا مانند myDict یا mydict به جای my_dict خودداری کنید. هر زمان که قرار است کلمات با یک فاصله از هم جدا شوند، از underscore (_) استفاده کنید. بهتر است Variable Name هایمان معنی‌دار و قابل خواندن باشند. نه این‌که از Variable Name های گیج‌کننده و کوتاه استفاده کنیم.

به عنوان مثال به جای firstName و firstname از first_name استفاده کنید.

یا به جای avgatt از calculated_avg_attendance استفاده کنید. به یاد داشته باشید که خوانایی کد مهم‌تر از دیگر فاکتورها است.

Method Names

باید از همان اصل Variable Names پیروی کنید. این نام‌ها باید به کاری که انجام می‌دهند اشاره کنند.

برای مثال تابعی را در نظر بگیرید که میانگین لیستی از اعداد را محاسبه می‌کند. به جای تعریف تابعی به نام def x ، از   def calculate_avergage استفاده کنید.

Model Property Names

Model Property Name باید از همان اصول بالا پیروی کند.

2- خودتان را تکرار نکنید

هر گاه متوجه شدید که در حال تکرار یک بلوک کد هستید، نشانه آن است که باید آن را در یک تابع یا کلاس دیگر خودش قرار دهید. این کار استفاده مجدد از آن را در زمانی دیگر آسان می‌کند.

به عنوان مثال دو مدل را درنظر بگیرید که حداقل دو فیلد مشترک دارند. created_at و updated_at. بهترین کار این  است که یک کلاس انتزاعی ایجاد کنید تا بتوانید از آن ارث ببرید. برای مثال در نظر بگیرید:

برای جلوگیری از تکرار هرباره‌ی مدل، می‌توانید یک کلاس انتزاعی بسازید و همانطور که در تصویر زیر مشاهده می‌کنید، کاری کنید مدل‌های دیگر از آن ارث ببرند:

سپس می‌توانید به این شکل از مدل بالا ارث ببرید:

3- از نوشتن بیش از حد خطوط کد خودداری کنید

قبلاً از نوشتن کدهایی که طولی بیش از 100 خط دارند، و زمانی بیش از حد لازم را از من می‌گیرند، لذت می‌بردم. اما اکنون متوجه شده‌ام که ویژگی بارز یک برنامه نویس خوب نوشتن کدهای کوتاه و خوانا است. گاهی اوقات می‌توانید کد را به توابعی تقسیم کنید که عملکرد خاصی را انجام می‌دهند. با فرض این‌که کدی دارید که از طریق یک آیتم لوپ می‌زند و اقدامات زیادی را با آن‌ها انجام می‌دهد، می‌توانید عملکرد را در تابعی از خود آن کپسوله کنید.

4- برق را دوباره اختراع نکنید

در حالی که یک پکیج از قبل وجود دارد که کارایی آن ثابت شده است، چرا باید یک پکیج کامل را دوباره ایجاد کنید؟ در زمان و تلاش خود صرفه‌جویی کنید و با آن‌چه که دیگران قبلاً از آن استفاده کرده‌اند، پیش بروید. گاهی اوقات ممکن است پکیج دیگران لزوماً آن‌چه را که نیاز دارید، انجام ندهد. در این صورت، می‌توانید تابع کاربردی خود را بنویسید. من معمولاً توابع کاربردی زیادی می‌نویسم و در هر پروژه‌ای، از آن‌‌ها مجدداً استفاده می‌کنم. من همچنین از بسته‌های تست‌شده و اثبات‌شده که در Python packaging index قرار دارند نیز بهره می‌برم.

نقطه مقابل اختراع برق، اشباع شدن Django شما با پکیج‌های غیرضروری است. اگر متوجه شدید که در حال استفاده از یک پکیج کاملاً منطبق برای اپلیکیشن خود هستید، دیگر نیاز به استفاده از پکیج دیگری نیست. فقط می‌توانید ویژگی مورد نیاز خود را بر روی آن پیاده سازی کنید.

5- از وارد کردن ماژول‌های بدون استفاده خودداری کنید

این یک اشتباه رایج است که بسیاری از توسعه دهندگان Django مرتکب می‌شوند. من شخصاً دوست دارم import ‌هایم را پاکسازی و import ‌های غیرضروری را حذف کنم تا namespace import را آلوده نکنند. من برای نوشتن یک کد خوب، از افزونه‌های Pylint و Autopep8 کمک می‌گیرم. همچنین برای هندل کردن import ‌هایم از iSort استفاده می‌کنم.

منبع: tushortz.medium.com     نویسنده: تایوو کریم، برنامه نویس اهل نیجریه

Leave feedback about this

  • کیفیت
  • قیمت
  • خدمات

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video
X