<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های رضا رحیمی</title><link>https://virgool.ir/feed/@rtwo</link><description>توسعه دهنده ، مشاور و مربی</description><language>fa</language><pubDate>2026-11-11 12:17:12</pubDate><image><url>https://files.virgool.ir/upload/users/77610/avatar/hiljAQ.png</url><title>رضا رحیمی</title><link>https://virgool.ir/@rtwo</link></image><item><title>آیا شما یک پسر پیش آهنگ هستید؟</title><link>https://virgool.ir/@rtwo/boyscouting-hhwzwpknyvqa</link><description>پیش آهنگدر برخی فرهنگ‌ها از فعالیت‌های پیش‌آهنگی (Boy Scouting) استفاده می‌شود تا جوانان را به شهروندان بهتری در آینده تبدیل کنند. یکی از قوانین بنیادی این فرهنگ این است که: «سعی کن زمانی که از این دنیا می‌ری، دنیای بهتری نسبت به زمانی که اومدی، تبدیل شده باشه»؛تعبیر عملی این قانون در کمپ‌ها به کار گرفته می‌شه: «همیشه کمپت رو تمیز‌تر از زمانی که بهش وارد شدی، ترک کن». یکی دیگر از نکات این قانون در کمپ ها عبارتست از &#34;مهم نیست چه کسی کمپ را بدتر یا کثیف‌تر کرده است، مهم است که ما آن را تمیز‌تر کنیم&#34;.این قانون را در کد نویسی اعمال کنیم می شود : &#34;مهم نیست آن کد را چه کسانی نوشته‌اند. مهم آن است که کدی که من تحویل می‌دهم از کدی که تحویل گرفتم بهتر باشد.از یک زاویه دیگر : هر بار کدی را که باز می کنی می تونی بهبودش بدی. لازم نیست در یک فرآیند انقلابی و یا در یک اسپرینت (بازه) خاص کدها را تمیز کنیم. از همین امروز هر کدی که ویرایش می کنی را تمیز کن.اغلب در درک این موضوع برداشت های اشتباهی رخ میدهد که در ادامه با هم نگاه دقیق تری به پیش آهنگی می اندازیم تا جلوی این اشتباهات را بگیریم.پیش آهنگی به معنی  از بین بردن کدهای مرده، حذف توضیحات زائد و  قالب بندی کد می باشد. این خیلی مهمه که بدونید پیش آهنگی  شامل تغییر کد نیست  و تنها کد را تمیز می کند. پیش آهنگی refactoring نیست و همچنین پیش آهنگی رفع خطا نیست.بعد از مدتی که این اصل ساده را، علی الخصوص در کار تیمی رعایت کنید خواهید دید این کدهای هم تیمی های شما نیست که تمیزتر شده است بلکه توانایی کدنویسی شماست که رشد کرده است و این موضوع ساده شما را یک قدم به سمت حرفه ای تر شدن برده است.به قول Uncle Bob : &#34;تنها به فکر کد خود نباشیم&#34;در ادامه مباحث &#34;کد تمیز&#34; بزودی مطالبی درباره بین بردن کدهای مردهحذف توضیحات زائد قالب بندی کد خواهم داشت.نظر شما درباره پیش آهنگی چیست ؟ آیا شما یک پسر یا دختر پیش آهنگ هستید؟کارگاه کد تمیز و دوست داشتنیبرای ثبت نام می توانید اینجا مراجعه کنید</description><category>رضا رحیمی</category><author>رضا رحیمی</author><pubDate>Mon, 14 Oct 2019 01:07:18 +0330</pubDate></item><item><title>3 روش برای شناسایی کد کثیف</title><link>https://virgool.ir/@rtwo/شناسایی-کد-کثیف-symggfszqrdg</link><description>3 روش برای شناسایی کد کثیف در مطلب قبلی درباره مضرات کد کثیف صحبت کردم هر چند که اگر کسی که کدنویسی کرده باشد می داند کد کثیف چیست ولی در این مطلب این موضوع را بیشتر بررسی می کنیم. برای درک بهتر کد کثیف، در ابتدا با تعریف کد تمیز از منظر اساتید برنامه نویسی آشنا می شویم.خالق سی پلاس پلاس (Bjarne Stroustrup) :کد تمیز، باید چشم نواز و کارا باشد.منطق آن آنقدر سرراست و ساده باشد که امکان بروز باگ به حداقل برسد.کد تمیز، فقط یک کار را انجام می دهد و همان یک کار را هم خوب انجام می دهداستاد اعظم Grady Booch :کد تمیز باید ساده و مستقیم باشد.مانند یک نثر خوب نوشته شده است.اهداف نویسنده کد باید باخواندن متن کد مشخص شود.ابهام کد به حداقل رسیده باشدنویسنده و یکی از امضا کنندگان مانیفست اجایل (Dave Thomas ):کد تمیز این خاصیت را دارد که افرادی غیر از نویسنده اصلی آن کد، براحتی می توانند آن را بخوانند، بفهمند و تغییر دهند.کد باید با تست های واحد (unit test) هایش همراه باشد.وابستگی ها به حداقل رسیده باشدیکی از پدیدآورندگان اکس پی  (Ward Cunningham ):وقتی یک کد تمیز را می خوانید، هر قطعه کدی را که می خوانید دقیقا همان چیزی خواهد بود که انتظارش را دارید.هیچ ابهام و تعجبی پیش نمی آید.همه چیز ساده و قابل درک است.مارتین فولر نیز جمله جالبی دارد که می گوید :“هر احمقی می‌تواند کدی بنویسد که کامپیوتر درک کند. برنامه‌نویسان خوب کدی می‌نویسند که انسان‌ها قادر به درک آن باشند.”حال که با کد تمیز آشنا شدیم اگر بخواهم سریع و کوتاه کد کثیف را معرفی کنم می گویم کد کثیف کدی می باشد که :هزینه نگهداری آن زیاد باشدتغییر و توسعه آن سخت باشدسه روش شناسایی کدهای کثیف· کد وابسته، سفت و سختهنگامی که می خواهید یک بخشی از کد را ویرایش کنید. باید حواستان به کد سایر جاهای دیگر نیز باشد. باید آنها را نیز ویرایش کنید. در حالی که آنها ربطی به تغییر شما ندارند. کد وابسته کدی است که وابستگی بین بخش های کد به هم بسیار می باشد. در این نوع کدها شما نمی توانید یک تغییر ایزوله ایجاد کنید.· کد شکنندهکد شکننده بسیار بدتر از کد وابسته می باشد. حداقل در کد وابسته هنگام کامپایل به خطا برمی خوریم. در کد شکننده ، اگر شما یک قطعه کوچک از کد را در یک ماژول تغییر دهید، یک ویژگی کاملاً متفاوت را در یک ماژول کاملاً متفاوت دچار مشکل می شود. و هیچ راه آسانی برای یافتن این خطاها در طول توسعه وجود ندارد.· کد غیر قابل استفاده مجددبه عنوان مثال، وقتی شما بخواهید یک ویژگی جدید را در پروژه خود پیاده کنید که همان کاری است که همکار شما برای یک پروژه متفاوت انجام داده است. اما شما به راحتی نمی توانید از کد همکارتان در پروژه خودتان استفاده مجدد کنید زیرا این کد به برخی دیگر از ویژگی های نامربوط پروژه آنها بستگی دارد که به نوبه خود به سیستم زیرساختی و یا پایگاه داده ای که در پروژه خود ندارید هم بستگی دارد. و بهتر است که پیاده سازی خود را برای آن ویژگی بنویسید.این مشکل معروف به “گوریل و موز” است:“شما یک موز می خواستید اما آنچه که گرفته اید یک موز در دست یک گوریل همراه با کل چنگل می باشد.”در انتها یک جمله را یادآور شوم و آن اینست که :کد تمیز کدی است که توسط کسی که به آن اهمیت می دهد نوشته شده است.در مطلب بعدی از سری “کد تمیز” منابعی مفیدی برای یادگیری کد تمیز را معرفی خواهم کرد.نظر شما درباره تعریف کد تمیز و کد کثیف چیست؟ شما روش های دیگری را برای شناسایی کد کثیف دارید؟  لطفا در بخش نظرات تجربیات خود را با ما درمیان بگذارید.کارگاه کد تمیز و دوست داشتنیبرای ثبت نام می توانید اینجا مراجعه کنید</description><category>رضا رحیمی</category><author>رضا رحیمی</author><pubDate>Thu, 10 Oct 2019 11:49:54 +0330</pubDate></item><item><title>خطرات و مضرات کد کثیف</title><link>https://virgool.ir/@rtwo/dirtycode-n7tm1h89kclr</link><description>کد کثیفاز روز اول در دانشگاه و آموزشگاهها، با ما در مورد طراحی، الگوریتم، دیتابیس، نرمال سازی و کش کردن و موارد اینچنینی صحبت می کنند ، اما بندرت و یا شاید هرگز در مورد نوشتن کد تمیز و کارآمد صحبت نمی کنند. واقعیت اینست که نوشتن کد کثیف مانند بدنیا آوردن بچه ایست که بزرگ نمی شود. هرچند کد کثیف معایب و مضرات زیادی دارد در این مطلب می خواهم درباره چند مورد از مضرات کد کثیف با هم صحبت کنیم.1-خطر بزرگی برای تیم یا شرکت می باشد!ممکن است کدهای کثیف هم بازده داشته باشند و کار راه بیانداز باشد، اما استقرار این‌گونه کدها می‌تواند یک شرکت بزرگ را به زمین بزند و سازمانی را به زانو در بیاورد. سالانه ساعت های بسیار زیادی و همچنین منابع قابل توجهی بدلیل کدهای کثیف و غیر قابل توسعه از بین می رود.تا به امروز در جاهای مختلف دنیا، شرکت های نوپا و یا حتی شرکتهای با سابقه، به دلیل بدهی فنی غیرقابل تحمل که کد کثیف برای آنها آورده است، تعطیل شده اند و یا با صرف هزینه های بالایی نرم افزار را از نو نوشته اند.2-بسیار گران می باشد!زبانهای برنامه نویسی تنها زبانهایی هستند که فرد قبل از خواندن ، نوشتن آنها را می آموزد. برنامه نویسان فکر می کنند بیشتر وقت خود را صرف نوشتن کد می کنند در حالی که در واقعیت ، آنها زمان بیشتری را صرف خواندن کد می کنند ، برای اینکه بفهمند چه باید بکنند و چگونه آن را انجام دهند ، اشکال زدایی و غیره.در واقع کدها خیلی بیشتر از نوشتن، خوانده می شوند. خواندن کد کثیف سخت، زمان بر و در نتیجه بسیار گران می باشد.3-بستر ایجاد خطا بوده و موجب طولانی شدن کشف  خطا می شوند.اسم گذاری نامناسب بارها باعث تولید خطا شده است. اهمیت ندادن به اصل تک مسئولیتی بارها ما را یاد ضرب المثل “اومدی ابروشو درست کنی زدی چشمشم کور کردی” می اندازد.داشتن تست واحد بشدت از بروز خطا جلوگیری کرده و همچنین مدت زمان مورد نیاز برای کشف خطا را کاهش می دهد. همچنین در کشف خطا، بارها توابعی را مشاهده می کنید که متفاوت از آنچه که می گویند رفتار می کنند و این موضوع عیب یابی را سخت می کند.در مطلب بعدی از مطالب “کد تمیز” درباره “تعریف کد کثیف و کد تمیز و همچنین نحوه شناسایی کد کثیف” بحث خواهم کرد.نظر شما چیست؟ شما مضرات دیگری را می شناسید و یا آنرا تجربه کرده اید؟ لطفا در بخش نظرات آنها را با ما درمیان بگذارید.کارگاه کد تمیز و دوست داشتنیبرای ثبت نام می توانید اینجا مراجعه کنید</description><category>رضا رحیمی</category><author>رضا رحیمی</author><pubDate>Tue, 08 Oct 2019 13:21:01 +0330</pubDate></item></channel></rss>