Facebook Pixel
Searching...
فارسی
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Beyond the Basic Stuff with Python

Beyond the Basic Stuff with Python

Best Practices for Writing Clean Code
توسط Al Sweigart 2020 384 صفحات
4.27
100+ امتیازها
گوش دادن
گوش دادن

نکات کلیدی

1. پذیرش پیام‌های خطا و تسلط بر خط فرمان

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

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

تسلط بر خط فرمان. خط فرمان ابزاری قدرتمند برای راه‌اندازی محیط، اجرای برنامه‌ها و خودکارسازی وظایف است. دستورات ضروری مانند cd، dir (یا lscopy (یا cp) و python را یاد بگیرید تا به‌طور مؤثر در سیستم‌فایل حرکت کرده و کد را اجرا کنید. تکمیل خودکار و تاریخچه‌ی دستورات می‌تواند به‌طور قابل‌توجهی تلاش‌های تایپ را کاهش دهد.

متغیرهای محیطی و PATH. درک متغیرهای محیطی، به‌ویژه متغیر PATH، برای اجرای برنامه‌ها از خط فرمان بسیار مهم است. افزودن دایرکتوری‌ها به PATH به شما این امکان را می‌دهد که برنامه‌ها را بدون مشخص‌کردن مسیر کامل فایل آن‌ها اجرا کنید.

2. فرمت‌بندی کد با بلک: ثبات کلید است

حفظ ثبات و خوانایی در یک پروژه، به‌جای پایبندی به هر قانون فرمت‌بندی فردی، دلیل اصلی اجرای راهنماهای سبک است.

خوانایی بسیار مهم است. فرمت‌بندی کد تنها جنبه‌ای ظاهری نیست؛ بلکه تأثیر قابل‌توجهی بر خوانایی دارد که برای نگهداری و همکاری در کد ضروری است. فرمت‌بندی منسجم بار شناختی را کاهش می‌دهد و درک منطق کد را آسان‌تر می‌کند.

بلک: فرمت‌کننده بی‌رحم. بلک فرمت‌بندی کد را خودکار می‌کند و ثبات را در پروژه‌های شما تضمین می‌کند. این ابزار به یک راهنمای سبک خاص پایبند است و بحث‌ها درباره‌ی فاصله‌ها، طول خطوط و سایر ترجیحات فرمت‌بندی را از بین می‌برد.

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

3. نام‌ها مهم هستند: شناسایی‌ها را با دقت انتخاب کنید

دو مشکل سخت در علوم کامپیوتر نام‌گذاری چیزها، نادرست‌سازی کش و خطاهای یک‌واحدی هستند.

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

قوانین نام‌گذاری. از قوانین نام‌گذاری PEP 8 برای کد پایتون پیروی کنید. از snake_case برای متغیرها و توابع، PascalCase برای کلاس‌ها و UPPER_SNAKE_CASE برای ثابت‌ها استفاده کنید.

طول مناسب. نام‌ها باید به اندازه کافی طولانی باشند تا توصیفی باشند اما نه آن‌قدر طولانی که غیرقابل‌مدیریت شوند. به دامنه نام توجه کنید: متغیرهای محلی می‌توانند نام‌های کوتاه‌تری داشته باشند، در حالی که متغیرهای جهانی به نام‌های توصیفی‌تری نیاز دارند.

4. شناسایی بوی کد برای جلوگیری از باگ‌ها

بوی کد لزوماً به این معنا نیست که مشکلی وجود دارد، اما به این معناست که باید برنامه‌تان را بررسی کنید.

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

اعداد جادویی. مقادیر عددی غیرقابل‌توضیح را با ثابت‌های نام‌گذاری شده جایگزین کنید تا خوانایی و نگهداری بهبود یابد. این موضوع همچنین شامل رشته‌های متنی می‌شود.

بوی‌های دیگر کد. از کدهای کامنت‌شده، عبارات دیباگ چاپی، متغیرهایی با پسوند عددی و کلاس‌هایی که باید فقط توابع یا ماژول‌ها باشند، احتیاط کنید. این‌ها می‌توانند نشان‌دهنده‌ی مشکلات بالقوه یا زمینه‌های بهبود باشند.

5. نوشتن کد پایتونیک: پذیرش اصطلاحات زبان

باید یک راه واضح—و ترجیحاً تنها یک راه—برای انجام آن وجود داشته باشد.

سبک پایتون را بپذیرید. کد پایتونیک از ویژگی‌ها و اصطلاحات منحصر به فرد زبان برای ایجاد راه‌حل‌های مختصر و خوانا استفاده می‌کند. یادگیری این اصطلاحات برای نوشتن کد مؤثر پایتون ضروری است.

نحو معمولاً سوءاستفاده‌شده. از استفاده از range(len()) برای تکرار بر روی توالی‌ها خودداری کنید؛ به‌جای آن از enumerate() استفاده کنید. از عبارت with برای مدیریت فایل استفاده کنید تا از مدیریت صحیح منابع اطمینان حاصل کنید. مقایسه با None را با استفاده از is به‌جای == انجام دهید.

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

6. اندازه‌گیری عملکرد برای بهینه‌سازی مؤثر

بهینه‌سازی زودهنگام ریشه‌ی تمام شرارت‌هاست.

حدس نزنید، اندازه‌گیری کنید. قبل از تلاش برای بهینه‌سازی کد، عملکرد آن را با استفاده از ماژول‌های timeit و cProfile اندازه‌گیری کنید. این کار به شناسایی گلوگاه‌ها کمک می‌کند و اطمینان می‌دهد که تلاش‌های شما بر روی تأثیرگذارترین زمینه‌ها متمرکز است.

timeit برای قطعات کوچک. ماژول timeit زمان اجرای قطعات کوچک کد را اندازه‌گیری می‌کند و به شما این امکان را می‌دهد که عملکرد رویکردهای مختلف را مقایسه کنید.

cProfile برای توابع بزرگ‌تر. ماژول cProfile پروفایل دقیقی از فراخوانی توابع ارائه می‌دهد و نشان می‌دهد کدام توابع بیشترین زمان را مصرف می‌کنند. قانون آمدال بیان می‌کند که بهبود کندترین بخش‌های کد شما بیشترین افزایش عملکرد کلی را به همراه دارد.

7. برنامه‌نویسی شی‌گرا: کلاس‌ها و اشیاء

برنامه‌ها باید به‌گونه‌ای نوشته شوند که انسان‌ها بخوانند و تنها به‌طور تصادفی برای ماشین‌ها اجرا شوند.

کلاس‌ها به‌عنوان الگو. کلاس‌ها الگوهایی برای ایجاد اشیاء هستند که نمونه‌هایی از آن کلاس‌ها هستند. کلاس‌ها داده‌ها (ویژگی‌ها) و رفتارها (متدها) را در یک واحد واحد تجمیع می‌کنند.

متدها و __init__(). متدها توابعی هستند که به اشیاء مرتبط هستند. متد __init__() یک متد خاص است که ویژگی‌های شیء را هنگام ایجاد آن مقداردهی می‌کند. پارامتر self به خود شیء اشاره دارد.

ویژگی‌ها. ویژگی‌ها متغیرهایی هستند که به یک شیء مرتبط هستند. آن‌ها می‌توانند با استفاده از نوتیشن نقطه‌ای (به‌عنوان مثال، object.attribute) دسترسی و تغییر یابند.

8. وراثت: استفاده مجدد از کد با احتیاط

قرار دادن اشیاء در یک سلسله‌مراتب منظم به حس نظم ما appeals می‌کند؛ برنامه‌نویسان این کار را فقط برای سرگرمی انجام می‌دهند.

وراثت برای استفاده مجدد از کد. وراثت به شما این امکان را می‌دهد که کلاس‌های جدید (کلاس‌های فرزند) ایجاد کنید که متدها و ویژگی‌های کلاس‌های موجود (کلاس‌های والد) را به ارث می‌برند. این کار استفاده مجدد از کد را ترویج می‌دهد و تکرار را کاهش می‌دهد.

بازنویسی متدها. کلاس‌های فرزند می‌توانند متدهای به ارث برده شده را برای ارائه رفتار خاص بازنویسی کنند. تابع super() به شما این امکان را می‌دهد که متد کلاس والد را از متد کلاس فرزند فراخوانی کنید.

ترجیح ترکیب. ترکیب، که شامل گنجاندن اشیاء از کلاس‌های دیگر به‌عنوان ویژگی‌ها است، اغلب جایگزینی انعطاف‌پذیرتر برای وراثت است. این کار از اتصال محکم بین کلاس‌ها جلوگیری می‌کند و مدولار بودن را ترویج می‌دهد.

9. OOP پایتونیک: ویژگی‌ها و متدهای داندری

لطفاً کامپیوترها را انسان‌انگاری نکنید؛ آن‌ها این موضوع را بسیار آزاردهنده می‌یابند.

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

متدهای داندری برای بارگذاری عملگر. متدهای داندری (که به آن‌ها متدهای جادویی نیز گفته می‌شود) به شما این امکان را می‌دهند که تعریف کنید اشیاء شما چگونه با عملگرهای داخلی پایتون (به‌عنوان مثال، +، -، *، ==) تعامل داشته باشند. این کار به شما این امکان را می‌دهد که کدهای بیانگر و شهودی‌تری ایجاد کنید.

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

آخرین به‌روزرسانی::

نقد و بررسی

4.27 از 5
میانگین از 100+ امتیازات از Goodreads و Amazon.

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

درباره نویسنده

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

Other books by Al Sweigart

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Feb 28,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
50,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →