این پروژه یک کار گروهی برای ترجمه آزاد یکی از بهترین کتاب های برنامه نویسیه.بعد از اینکه توسعه ریپازیتوری اصلی متوقف شد تصمیم گرفتیم اینجا این پروژه رو تکمیل و بهبود بدیم
درباره کتاب
این کتاب سعی دارد توسعهی نرمافزار به روش چابک (Agile) را به شما آموزش دهد. داستان نوشتن کتاب از آنجا شروع شد که رابرت.سی.مارتین (Robert C. Martin معروف به عمو باب) نویسندهی این کتاب، مدتها قبل، سردمدارانِ تفکرِ اجایل را به یک دورهمی دوستانه دعوت کرد. هدف اصلی این دورهمی بررسی نقاط اشتراک متدهای توسعه نظیر اسکرام، کریستال، ایکس.پی، پراگماتیک و … بود. نهایتاً نتیجهی این گردهمایی به نامگذاری متدها و طبقهبندی روشهای مختلف زیر پرچمی تحت عنوان اجایل/چابک (یا Adaptive) منتهی شد. از دیگر ثمرات این جلسه، توافق بر سر ۴ ارزش (Value) کلیدی و ۱۲ اصل(Principle) دیگر مبتنی بر ارزشهای فوق بود که میتوانید در اجایلمانیفستو مطالعه کنید.بعدها عمو باب به کمک سایر همکارانش در موسسهی Object Mentor روشهای مختلف کدنویسی را بررسی کرده و بهترین موارد را استخراج کردند. این روشها به تدریج روی هم تلنبار شد و نهایتاً در قالب کتابِ Clean Code در اختیار عموم برنامهنویسان قرار گرفت. مفاهیم این کتاب تا آنجا مورد توجه توسعهدهندگان قرار گرفت که در مدت کوتاهی به یکی از پرفروشترین کتابهای آمازون تبدیل شد. رابرت.سی.مارتین با تکیه بر اصول اجایل، نکاتی را در کتابش مطرح کرد که باعث تمییزتر شدن کدها، نگهداری آسانتر، درک بهتر منطق برنامه و بهبود عملکرد آن میشود. در این کتاب روش نوشتن کدهای ماژولار، چگونگی اشکالزدایی برنامه، نحوهی استفاده از توسعهی آزمون محور (TDD: Test Driven Development) و … نیز آموزش داده میشود.
بخش هایی از کتاب که به زبان انگلیسی هستند و ترجمه نشده. کافیه اون قسمت ها رو با ترجمه جایگزین کنید و یه ریکوئست بفرستید. منم سر وقت اون رو باز بینی میکنم و اگه خوب بود به ترجمه اضافه میشه.
-
- کوچک بودن!
- انجام دادن یک کار دیگر
- یک سطح انتزاع به ازای هر تابع
- Switch Statements
- استفاده از نام های توصیفی
- آرگومان های تابع
- نداشتن هیچ عوارض جانبی
- جداسازی رایج Query
- ترجیح Exception ها نسبت به برگرداندن کد خطا
- خود را تکرار نکنید
- برنامه نویسی ساخت یافته
- چگونه می توانید توابعی مانند این را بنویسید؟
- نتیجه گیری
-
- کامنت ها برای کد بد نوشته نشده اند
- منظورتان را با کد برسانید
- کامنت های خوب
- کامنت های بد
- غرزدن
- کامنت های اضافی
- کامنتهای گمراه کننده
- کامنت های مجاز
- کامنت های گزارشی
- کامنت های شلوغ
- شلوغی هولناک
- زمانی که میتوانید از یک تابع یا متغییر استفاده کنید از کامنت ها استفاده نکنید
- نشانگرهای موقعیت
- کامنت های بستن آکولاد
- خصیصهها و خطوط معرف نویسنده کد
- کامنت کردن کد
- HTML کامنت های
- اطلاعات غیرمحلی
- اطلاعات بیش از اندازه
- ارتباط نامشخص
- عناوین تابع
- اسناد java در کد غیرعمومی
- مثال