Skip to content

Latest commit

 

History

History
96 lines (59 loc) · 14 KB

README.md

File metadata and controls

96 lines (59 loc) · 14 KB

0_intruduction

<!DOCTYPE html>

clean-code-persian/Introduction.md at master · Noah1001000/clean-code-persian Skip to content

Dashboard Pull requests Issues Marketplace Explore @Noah1001000 Noah1001000 Sign outNoah1001000 / clean-code-persian New repository Import repository New gist New organization This repository New issue @Noah1001000Signed in as Noah1001000 Set status

Edit status

 Could not update your status, please try again. 80 remaining

Suggestions:

🌴 On vacation 🤒 Out sick 🏠 Working from home 🎯 Focusing Busy

When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. Clear status Never

  • NeverKeep this status until you clear your status or edit your status.
    • in 30 minutes
  • in 1 hour
  • in 4 hours
  • today
  • this week

Set status Clear status Your profile Your repositories Your projects Your stars Your gists Feature preview Help Settings Sign out

Learn Git and GitHub without any code!

Using the Hello World guide, you’ll start a branch, write comments, and open a pull request. Read the guide

  • Unwatch Notifications Not watching Be notified only when participating or @mentioned. Watch Releases only Be notified of new releases, and when participating or @mentioned. Unwatch releases Watching Be notified of all conversations. Unwatch Ignoring Never be notified. Stop ignoring 2
  • Unstar 2 Star 2
  • Fork 4

Code Issues 0 Pull requests 0 Actions Projects 0 Wiki Security Insights Settings Code Issues 0 Pull requests 0 Projects 0 Actions Wiki Security Pulse Community Permalink Branch: master Find file Copy path

Find file Copy path @SeniorHunter SeniorHunter add image 3f8cbcdMar 16, 2020 3 contributors

Users who have contributed to this file

@Noah1001000 @SeniorHunter @erfansaberi 34 lines (18 sloc) 8.02 KB Raw Blame History

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

یادگیری مهارت از دو بخش تشکیل شده است: دانش و کار. شما باید اصول , الگو ها , تمرین ها و شیوه های اکتشافی که یک هنرمند میداند را یاد بگیرید و آن دانش را با انگشتان, چشم ها, دل و روده تان حس کنید و سخت کار کنید و تمرین کنید.

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

کد نویسی تفاوتی ندارد.ما میتوانیم همه اصول کد تمیز را یادداشت کنیم و بعد به شما اطمینان دهیم که با انجام آنها موفق میشوید(به عبارتی بگذاریم وقتی سوار دوچرخه شدید زمین بخورید), اما کدام معلم این کار را میکند؟

نه,این راهی نیست که این کتاب میخواهد برود.

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

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

باید ببینید چطور از شکست هایشان عذاب میکشند و چه قیمتی برای تصمیمات بد شان پرداخته اند.

آماده باشید که حین خواندن این کتاب سخت تمرین کنید. این یک کتاب تفریحی نیست که بتوانید انرا در هواپیما بخوانید و قبل از فرود انرا تمام کنید. این کتاب شما را به کار وادار میکند ,پس سخت کار کنید. چه نوع کاری را انجام خواهید داد؟ باید کد بخوانید ، مقدار زیادی کد؛ و شما را به چالش میکشد تا در مورد اینکه چه چیز آن کد خوب است و چه بدی هایی دارد فکر کنید. از ما خواسته میشود که بخش ها (modules) را از هم جدا و دوباره به هم وصل کنیم. برای این کار زمان و تلاش صرف خواهد شد ولی ما فکر میکنیم که ارزش آنرا دارد. ما این کتاب را به سه بخش تقسیم کرده ایم.اولین فصل اصول, الگو ها و تمرین نوشتن کد تمیز را در بر میگیرد. تعداد کمی کد در این فصل قرار دارد که خواندن آنها چالش برانگیز است. آنها شما را برای خواندن فصل دوم اماده خواهد کرد. اگر پس از خواندن فصل اول کتاب را کنار گذاشتید, موفق باشید!

در بخش دوم کتاب کار سخت تر است. این فصل از چند بخش با پیچیدگی افزایشی تشکیل شده است.هر بخش تمرین تمیزکردن کمی کد است؛تبدیل کردن کدی که مشکلاتی دارد به کدی که مشکلات کمتری دارد. جزئیات این فصل سخت است. باید دائم بین کتاب و یادداشت برداری جابه جا شوید. باید کدی که با ان کار میکنیم را آنالیز و درک کنید و برای هر تغییری که در کد ایجاد میکنیم استدلال کنید.کمی زمان بگذارید چون این کار باید چند روز زمان ببرد.

بخش سوم کتاب نتیجه گیری نهایی است. این فصل شامل لیستی از اکتشافات و بو هایی (منظور چیز هایی که کد را از حالت تمیز بودن خارج میکند که به بوی بد شهرت دارد) است که هنگام یادگیری جمع آوری شده است. همینطور که پیش میرویم و کد ها را تمیز میکنیم, برای هر کاری که انجام میدهیم تحت عنوان بو یا اکتشاف نکته برداری میکنیم. ما تلاش میکنیم واکنش خودمان را نسبت به کدی که خوانده ایم و تغییر داده ایم درک کنیم, و سخت تلاش کرده ایم که آنچه احساس کرده ایم , آنچه انجام داده ایم و دلیل ان را ضبط کنیم. نتیجه دانشی پایه است که به درک طرز تفکر ما هنگام نوشتن, خواندن و تمیز کردن کمک میکند.

اگر شما بخش های فصل دوم را به دقت نخوانید این دانش پایه ارزش محدودی خواهد داشت. در آن بخش های آموزشی هر تغییری که ایجاد کرده ایم را به دقت و با ارجاع به اکتشافات به طور کامل تشریح کرده ایم. این ارجاعات در کروشه مثل این ظاهر میشوند:[H22] . این به شما اجازه میدهد متنی که در ان از اکتشافات استفاده شده را ببینید. این نه تنها خودش اکتشاف نیست بلکه بسیار ارزشمند است, این رابطه آن اکتشافات و تصمیمات پراکنده ای که حین تمیز کردن کد در بخش های آموزشی گرفته ایم را مشخص می کند.

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

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

You can’t perform that action at this time.You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.