کتاب: کد پاک – پس زمینه

این مقاله بر اساس چیزی است که من متوجه شدم،
من آن را دوست دارم و فکر می کنم باید هنگام خواندن کتاب Clean Code آن را یادداشت کنم.
کتابی از رابرت سیسیل مارتین،
اولین در اوت 2008 منتشر شد.
شاید زمان خیلی دور باشد،
مدت زیادی است
من آن را در دورانی خواندم که هوش مصنوعی از قبل بیداد می کرد،
و شایعات زیادی مبنی بر جایگزینی برنامه نویسان با هوش مصنوعی منتشر شد.
جدا از آن،
خواندن این کتاب بسیار سرگرم کننده است
حتی اگر برای خواندن این کتاب باید تلفن همراه خود را آماده داشته باشید،
به یاد داشته باشید که گاهی اوقات با کلمات یا جملات ناآشنا روبرو می شوید.
چرا کد پاک مهم است
در فصل 1 کتاب،
دلایل مختلفی به ما ارائه می شود کد پاک این مهم است
یکی از داستان هایی که تاثیرگذار است
در اواخر دهه 80،
یک شرکت برنامه ای می سازد که به طور خلاصه بسیار محبوب است.
اما با گذشت زمان، انتشار پس از انتشار.
اشکالات رفع نشد، زمان بارگذاری و سقوط بیشتر افزایش می یابد.
بالاخره شرکت جمع شد.دو دهه بعد نویسنده با یکی از کارمندانش ملاقات کرد و از او پرسید.
به طور خلاصه، آنها عجله دارند تا فوراً محصول را منتشر کنند.
و در نهایت در کدهای کثیف قرار می گیرند.با افزایش ویژگی ها،
کد موجود نیز بدتر می شود.
تا جایی که دیگر نمی توان کد را مدیریت کرد.این کد بد بود که باعث سقوط شرکت شد
این کتاب واقعا عالیه
- با عجله
- احساس می کنید وقت ندارید آن را به خوبی انجام دهید
- شاید اگر به زمان بیشتری نیاز داشته باشیم، رئیس احساس عصبانیت کند
- شاید شما فقط از کد خسته شده اید و می خواهید سریع آن را تمام کنید، خیلی نامرتب است، چه از نسخه قدیمی یا حتی خود ما، 😀
- یا شاید شما تمرکز نکردید زیرا ماژول های دیگر ضرب الاجل خود را نزدیک داشتند، بنابراین در نهایت همه عجله کردند.
بالاخره همین،
صرف نظر از آشفتگی کد است،
ما تصمیم گرفتیم آن را برای زمان دیگری بگذاریم.
آشفتگی کار بهتر از هیچ است
متأسفانه آن “دفعه بعدی” هرگز نیامد
قانون لبلان: بعداً برابر است هرگز
بهایی که باید پرداخت کرد
آیا تا به حال به دلیل کدهای نامرتب کندتر کار کرده ایم؟
یا از کد دیگران، یا کد دیروز ما.
خب من نمیدونم کد کیه ما باید با آن مقابله کنیم.
ما باید در این مورد به توافق برسیم “کد ما” در حال حاضر.
هر چه بیشتر ادامه پیدا کند بدتر می شود.
ویژگی هایی که باید در 1 تکمیل شود دوی سرعت،
در حال حاضر به چندین گسترش یافته است دوی سرعت.
نه از ویژگی دامنه،
بلکه از کد کثیف ما.
چون در نهایت باید کد را پشت سر هم بخوانیم،
اسکرول به بالا، اسکرول پایین، باز کردن یک فایل/ماژول دیگر،
قدم زدن به جلو و عقب برای درک همه هرج و مرج.
ویژگی دیر منتشر شد،
اگر به آن دست یابید، در نهایت بدتر و بدتر می شود.
راه حل؟؟
خسته از غوطه ور شدن در کدهای آشفته،
در نهایت، یک پیشنهاد طراحی مجدد ظاهر شد،
برای بازسازی همه چیز با یک پایه کد جدید،
معماری جدید، شاید هم یک پشته فناوری جدید.
این امکان وجود دارد که مدیریت امتناع کند.
هنوز ویژگی ها، نقاط عطف، اهداف زیادی وجود دارد که باید به آنها دست یافت.
البته “درک” این اتلاف وقت و منابع است فقط برای بازسازی همان چیز.
بحث پس از بحث، مذاکره و بررسی.
باشه ما انجام میدیم طراحی مجدد.
منابع به تیم ها تقسیم می شوند طراحی مجدد ویژگی & تیم
خوب، حداقل تقسیم، اضافه، تفریق، مرتب شده به چیزی مشابه.
وجود دارد طراحی مجدد و کسانی هستند که روی ویژگی های جدید کار می کنند.
زمانی گذشت که قطعاً کوتاه نیست،
کد طراحی مجدد در حال افزایش است.
اما با گذشت زمان، افراد می آیند و می روند، تیم ها تغییر می کنند.
کد طراحی مجدد آنچه قبلاً تازه و تمیز بود، ممکن است اکنون نیز شروع به از بین رفتن کند.
خوب، شاید به اندازه قدیم نامرتب نباشد.
اشکالی ندارد، هنوز آنقدرها آشفته نیست، می توانید بعداً دوباره فاکتور بگیرید، و بله …
“حداقل، پشته فناوری جدید، معماری جدید، مدرن تر، سریع تر”؟
کدهای کثیف دیگر.
تقصیر کیه؟
این ممکن است یک قرص تلخ برای بلعیدن باشد.
چطور ممکنه این آشفتگی باشه ما تقصیر؟
در مورد الزامات چطور؟
در مورد برنامه زمانبندی چطور؟
در مورد مدیران احمق و انواع بازاریابی بیهوده چطور؟
آیا آنها بخشی از تقصیر را بر عهده نمی گیرند؟
هنوز بهانه های زیادی می توان نوشت.
آنها ممکن است با اشتیاق از برنامه و الزامات دفاع کنند. اما این کار آنهاست
این است شما وظیفه دفاع از کد با اشتیاق برابرشما با ایجاد آشفتگی ضرب الاجل را نخواهید داشت.
در واقع، آشفتگی فورا سرعت شما را کاهش می دهد،
و شما را مجبور به از دست دادن مهلت می کند.تنها راه برای تعیین ضرب الاجل –
تنها راه برای سریع رفتن –
این است که کد را تا حد امکان همیشه تمیز نگه دارید.
نگرش
هیچ کد درهم و برهم از ابتدا وجود ندارد.
همه چیز با تازه و تمیز شروع می شود، خوب حداقل خالی، :D.
کد به مرور زمان از بین می رود.
بنابراین این اتفاق نمی افتد،
حتما کد را بگذارید تمیز کننده از قبلی
به عبارت ساده، نام متغیری که ما را گیج می کند به 1 تغییر می کند.
یا نظرات/اسناد یک تابع و غیره را اضافه کنید.
محل کمپ را تمیزتر از چیزی که پیدا کردید رها کنید
آیا می توانید تصور کنید که روی پروژه ای کار کنید که در آن کد به سادگی بهتر شد
با گذشت زمان؟
پایان
ما خواننده هستیم.
برای اینکه بتوانیم کد بنویسیم، باید بخوانیم،
درک کنید که در برنامه ما چه اتفاقی می افتد.
خواندن کدهایی که خواندن آن سخت است، دردسرساز است.
اما ما نویسنده هم هستیم.
برای ما در زمان دیگری،
برای سایر افرادی که از کد ما بازدید می کنند.
کدنویسی باشید که خوانندگان از او قدردانی می کنند صنایع دستی ما آن را برنامه ریزی خواهیم کرد.
https://abdulghofurme.github.io/posts/book-clean-code/