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
Effective Programming

Effective Programming

More Than Writing Code
توسط Jeff Atwood 2012 278 صفحات
3.91
500+ امتیازها
گوش دادن

نکات کلیدی

1. کیفیت کد مهم‌تر از کمیت آن است

"بهترین کد، کدی است که اصلاً وجود ندارد."

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

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

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

2. تجربه کاربری باید اولویت اصلی در توسعه نرم‌افزار باشد

"برای کاربر نهایی، رابط کاربری همان برنامه است."

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

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

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

3. امنیت یک جنبه اساسی از برنامه‌نویسی خوب است

"همیشه در مورد امنیت بدترین حالت را فرض کنید."

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

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

  • پیاده‌سازی احراز هویت و مجوز مناسب
  • اعتبارسنجی و پاک‌سازی ورودی‌های کاربر
  • استفاده از پروتکل‌های ارتباطی امن
  • به‌روزرسانی وابستگی‌ها و کتابخانه‌ها

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

4. شیوه‌های استخدام مؤثر برای ساخت تیم‌های توسعه قوی حیاتی است

"برای نگرش استخدام کنید، برای مهارت آموزش دهید."

فراتر از مهارت‌های فنی نگاه کنید. توانایی‌های حل مسئله، مهارت‌های ارتباطی و تناسب فرهنگی نامزدها را ارزیابی کنید. مهارت‌های فنی قابل آموزش هستند، اما نگرش و اخلاق کاری تغییرپذیر نیستند.

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

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

5. کار از راه دور می‌تواند با رویکرد صحیح بسیار پربار باشد

"بهترین استعدادها در یک کد پستی واحد یافت نمی‌شوند."

ارتباط غیرهمزمان را بپذیرید. از ابزارها و شیوه‌هایی استفاده کنید که به اعضای تیم اجازه می‌دهند به‌طور مؤثر در مناطق زمانی و برنامه‌های مختلف همکاری کنند.

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

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

6. مشارکت جامعه برای موفقیت پروژه‌های نرم‌افزاری ضروری است

"کاربران شما بهترین منبع نوآوری شما هستند."

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

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

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

7. یادگیری و تطبیق مداوم کلید ماندن در تکنولوژی است

"تنها ثابت در فناوری تغییر است."

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

آزمایش و نوآوری. زمانی را برای پروژه‌های شخصی و آزمایش اختصاص دهید. این به شما اجازه می‌دهد ایده‌ها و فناوری‌های جدید را بدون محدودیت‌های پروژه‌های کاری کشف کنید.

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

8. تصمیم‌گیری مبتنی بر داده به نتایج بهتر نرم‌افزاری منجر می‌شود

"دو بار اندازه‌گیری کنید، یک بار برش دهید."

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

آزمایش A/B. از آزمایش‌های کنترل‌شده برای مقایسه ویژگی‌ها یا طراحی‌های مختلف استفاده کنید. تصمیم‌گیری‌ها را بر اساس داده‌های عینی به‌جای نظرات ذهنی انجام دهید.

بهبود مستمر. به‌طور منظم داده‌ها را تجزیه و تحلیل کنید تا زمینه‌های بهبود را شناسایی کنید. از این اطلاعات برای اولویت‌بندی توسعه ویژگی‌ها و بهینه‌سازی عملکرد موجود استفاده کنید.

9. سادگی و وضوح باید در کد و طراحی اولویت داشته باشند

"کمال زمانی به دست می‌آید که دیگر چیزی برای افزودن نیست، بلکه زمانی که چیزی برای حذف باقی نمانده است."

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

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

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

10. ملاحظات اخلاقی در توسعه نرم‌افزار بسیار مهم هستند

"با قدرت زیاد، مسئولیت بزرگ می‌آید."

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

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

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

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

نقد و بررسی

3.91 از 5
میانگین از 500+ امتیازات از Goodreads و Amazon.

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

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

جف اتوود، توسعه‌دهنده نرم‌افزار، نویسنده و کارآفرین مشهور، به‌خاطر تأسیس Stack Overflow، پلتفرم محبوب پرسش و پاسخ برای برنامه‌نویسان، و ایجاد Discourse، پلتفرم بحث‌وگفتگوی متن‌باز، شناخته می‌شود. اتوود بیشتر به خاطر وبلاگش با عنوان "Coding Horror" معروف است که در آن به اشتراک‌گذاری دیدگاه‌هایی درباره برنامه‌نویسی، فناوری و توسعه نرم‌افزار می‌پردازد. سبک نوشتاری او با طنز، عملی بودن و تمرکز بر کاربردهای دنیای واقعی مشخص می‌شود. کارهای اتوود تأثیر قابل توجهی بر جامعه برنامه‌نویسی داشته و بهترین شیوه‌ها را ترویج داده و به اشتراک‌گذاری دانش میان توسعه‌دهندگان کمک کرده است. تخصص او شامل جنبه‌های مختلف توسعه نرم‌افزار، از تکنیک‌های کدنویسی تا مدیریت تیم و طراحی تجربه کاربری می‌باشد.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Unlock unlimited listening
Your first week's on us!
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 Dec 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,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/yr
$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 →