<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های عباس کشوری</title>
        <link>https://virgool.io/feed/@abbas.keshvari</link>
        <description>تحلیلگر، معمار و برنامه نویس  از 1381...</description>
        <language>fa</language>
        <pubDate>2026-06-16 20:24:10</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/95650/avatar/5vj65T.png?height=120&amp;width=120</url>
            <title>عباس کشوری</title>
            <link>https://virgool.io/@abbas.keshvari</link>
        </image>

                    <item>
                <title>اصول برنامه نویسی خوب - !YAGNI- شما به آن احتیاج ندارید!</title>
                <link>https://virgool.io/coderlife/%D8%A7%D8%B5%D9%88%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AE%D9%88%D8%A8-yagni-%D8%B4%D9%85%D8%A7-%D8%A8%D9%87-%D8%A2%D9%86-%D8%A7%D8%AD%D8%AA%DB%8C%D8%A7%D8%AC-%D9%86%D8%AF%D8%A7%D8%B1%DB%8C%D8%AF-je1comth0uyl</link>
                <description>You ain’t gonna need it!هیچ دلیلی ندارد که کدی بنویسید که نباید بنویسید! نگذارید آینده نگری یا هر دلیل دیگری کد اضافی به پروژه ی شما وارد کند. خودتان را کنترل کنید! همانقدر کد بزنید که لازم است نه بیشتر...خیلی وقتها سعی می کنیم ویژگی های جالبی به کدمان اضافه کنیم که فقط جالب است! پس مدیریت زمان، هزینه تولید، هزینه نگهداری و پشتیبانی و ... چه می شود؟! آها! به این فکر می کنید که در آینده ممکن است این ویژگی به کار شما بیاید و اگر بعدا آن را اضافه کنید کد شما کثیف می شود. ممنونیم از آینده نگری شما ولی آینده چه زمانی است؟ برای آن برنامه ریزی خاصی دارید؟ اگر واقعا فعلا دلیل قانع کننده ای برای وجود این ویژگی ندارید، اجازه دهید تا آن روز کد کمتر و تمیزتری داشته باشیم! این ویژگی را در دفتر یادداشت خود ثبت کنید تا فراموش نکنید ولی لطفاااا آن را به کدهای پروژه اضافه نکنید.میلیونها تومان هزینه کردیم که این پل را روی این جوی پر آب!!!! احداث کنیم (البته به حساب شهرداری تهران میلیاردها تومان! ) این جوی آب از چه زمانی بوجود آمده و به این حجم از آب رسیده؟! سالهاست؟! چه زمانی به آن حجم از آب خواهد رسید که شما انتظار دارید؟ معلوم نیست؟ تا آن زمان این پل چقدر فرسوده می شود؟ شاید آن زمان به جای این روش و مصالح جایگزین بهتری ساخته شده باشد. حتما یک دلیل قانع کننده برای احداث آن هست؟ سیل!!!؟ خیر! کمی آنطرف تر رودخانه ای با شرایط مناسب وجود دارد که احتمال طغیان آن تقریبا صفر است! پس فقط یک سوال باقی می ماند. چرا این کار را با زمان، طبیعت، نیروی کار و بودجه کردیم؟!</description>
                <category>عباس کشوری</category>
                <author>عباس کشوری</author>
                <pubDate>Tue, 24 Dec 2019 11:57:47 +0330</pubDate>
            </item>
                    <item>
                <title>اصول برنامه نویسی خوب - !KISS - اصل سادگی</title>
                <link>https://virgool.io/coderlife/%D8%A7%D8%B5%D9%88%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AE%D9%88%D8%A8-kiss-%D8%A7%D8%B5%D9%84-%D8%B3%D8%A7%D8%AF%DA%AF%DB%8C-sysp6f0lmgzd</link>
                <description> Keep it simple, stupidبه ساده ترین شکل ممکن کد بزنید. وقتی روشهای ساده برای نوشتن کد وجود دارند چه دلیلی دارد از روشهای عجیب و غریب و پیچیده استفاده کنید؟! کد ساده زمان کمتری از شما می گیرد، خطای کمتری دارد و تغییر دادن آن ساده است.اصل KISS توصیفی است که کد را ساده و واضح نگه می دارد و درک آن را آسان می کند.بعلاوه باید توجه کنید زبانهای برنامه نویسی برای درک انسانهاست . کامپیوترها فقط 0 و 1 را می توانند بفهمند، بنابراین کدنویسی را ساده و آسان انجام دهید. متد ها و فانکشنهای خود را کوچک نگه دارید. هر متد یا فانکشن هرگز نباید بیش از 40-50 خط باشد.هر متد فقط باید یک مشکل کوچک را حل کند و باید برای حل یک مشکل یا انجام یک عملیات باشد. اگر شروط زیادی در متد دارید ، آنها را به متدهای کوچکتر تقسیم کنید. خواندن و نگهداری آن نه تنها آسان تر خواهد بود ، بلکه می توانید مشکلات و باگهای آنها را زود تر پیدا کنید.دو متد زیر را با هم مقایسه کنید، کدام ساده تر است؟برای جلوگیری از نقض اصل KISS ، سعی کنید کد ساده ای بنویسید. برای حل مشکل خود به راه حل های زیادی فکر کنید ، سپس بهترین ، ساده ترین را انتخاب کنید و آن را به کد تبدیل کنید. هر وقت کد طولانی نوشتید ، آنرا به چندین متد تقسیم کنید .سعی کنید بلوک های کوچکی از کد را بنویسید که هرکدام یک کار واحد انجام می دهد.</description>
                <category>عباس کشوری</category>
                <author>عباس کشوری</author>
                <pubDate>Wed, 11 Dec 2019 03:38:35 +0330</pubDate>
            </item>
                    <item>
                <title>اصول برنامه نویسی خوب - اصل انتزاع - Abstraction Principle</title>
                <link>https://virgool.io/@abbas.keshvari/%D8%A7%D8%B5%D9%88%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AE%D9%88%D8%A8-%D8%A7%D8%B5%D9%84-%D8%A7%D9%86%D8%AA%D8%B2%D8%A7%D8%B9-abstraction-principle-j4huau4flq1k</link>
                <description>این اصل یک اصل مرتبط با DRY  یا همان &quot;خودت رو تکرار نکن!&quot; است.اصل انتزاع بیان می کند که &quot;هر قطعه ی معنی دار از قابلیتهای یک نرم افزار می بایست فقط در یک محل از کد پیاده سازی شود&quot;.همیشه سعی کنید یک متد را فقط یک بار و در محل مناسبی بنویسید و از آن استفاده کنید و از تکرار بپرهیزید. اگر حس کردید نیاز به استفاده از کدی که قبلا نوشته اید را دارید فکر کپی پیست را از ذهن خارج کنید و با صرف یک زمان کوتاه کد نوشته شده را جدا کرده و در متد و کلاس متناسب قرار دهید و از آن استفاده کنید. همیشه سریع ترین راه بهترین راه نیست...</description>
                <category>عباس کشوری</category>
                <author>عباس کشوری</author>
                <pubDate>Mon, 09 Dec 2019 12:16:14 +0330</pubDate>
            </item>
                    <item>
                <title>اصول برنامه نویسی خوب</title>
                <link>https://virgool.io/coderlife/%D8%A7%D8%B5%D9%88%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AE%D9%88%D8%A8-c817yfpuiqv2</link>
                <description>هرکسی میتونه کد بنویسه، و شاید هر کدی کار کنه، ولی نوشتن کد خوب نیاز به مهارت، تخصص، دقت و حوصله داره. احتمالا در مورد کد اسپاگتی شنیدین و یا شاید با کدی روبرو شدین که پر از If و else های تو در تو و عجیب و غریب بوده و برای یک تغییر کوچیک ساعتها وقت گذاشتید.درسته هدف نهایی ما نوشتن کد قابل اجراست، ولی باید به این فکر کنیم که آیا شخص دیگه ای هم میتونه کار مارو ادامه بده؟ یا حتی خودمون چند ماه بعد سر در میاریم که چی کار کردیم؟اصولی وجود داره که با دونستن اونا ناخودآگاه کد تمیزتری مینویسیم، کافیه درکشون کنیم. حفظ کردنشون فقط به درد روز مصاحبه میخوره و تو روز تست دیگه به کارمون نمیاد. این اصول رو به اسمهای مختلف میتونید پیدا کنید ولی بیاید بهش بگیم اصول برنامه نویسی خوب.من خودم وقتی به کد یه برنامه نویس نگاه می کنم دنبال اینم ببینم دستخطش چه جوریه. فقط میخواسته کارو انجام بده یا میخواسته کار رو خوب انجام بده. ترجیح میدم کد تمیزی ببینم که شاید چند ساعت دیگه برای تکمیلش وقت لازم باشه، تا اینکه کد کثیفی ببینم که در حال حاضر کار میکنه ولی فقط کار می کنه! کسی که به زبانهای مختلف برنامه نویسی و تکنولوژی های جور واجور آشناس و نمیتونه کد تمیزی بنویسه، خیلی نمیشه روی کارش حساب کرد. اصلا وقتی حرف می زنه به دل نمیشینه! باید مرد عمل باشه وگرنه هر کدوم از اون تکنولوژیها که یه کتاب هستن! خوندن و حفظ کردنشم هنری برای برنامه نویس محسوب نمیشه.برنامه نویسی یه هنره، مثل نقاشی، وقتی یه نقاش میخواد یه برکه بکشه اگه اصول و تکنیک ندونه، یه محیط آبی رنگ میکشه و تا کنار تابلوش نزنه &quot;نام اثر: برکه آبی!&quot; نمیفهمیم چیه دقیقا! یه برنامه نویس هم اگه یه سری استاندارد و اصول و الگوی طراحی رو رعایت کنه، کدی که مینویسه اونقد جذابه که نیاز به خوندن کامنت های بالای کدشم نیست...این پست رو باید قبل از پست قبلی منتشر می کردم،فراموش کردم! :) </description>
                <category>عباس کشوری</category>
                <author>عباس کشوری</author>
                <pubDate>Mon, 09 Dec 2019 12:14:42 +0330</pubDate>
            </item>
                    <item>
                <title>اصول برنامه نویسی خوب - خودت رو تکرار نکن! DRY</title>
                <link>https://virgool.io/coderlife/%D8%A7%D8%B5%D9%88%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AE%D9%88%D8%A8-%D8%AE%D9%88%D8%AF%D8%AA-%D8%B1%D9%88-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1-%D9%86%DA%A9%D9%86-dry-qehry6viib5u</link>
                <description>خودت را تکرار نکن! DRY - Don’t repeat yourselfخودت را تکرار نکن! DRY - Don’t repeat yourself به طور جد می توان گفت یکی از مهم ترین اصول در برنامه نویسی DRY است. اگر پروژه ای را که آغاز کرده اید بسیار مهم است که هیچ وقت چیزی را دوبار تکرار نکنید، زیرا در آینده ای نه چندان دور با تعداد زیادی کلاس، متد و ... روبرو خواهید شد که کارهای مشابهی را برای شما انجام می دهند و شما در میان آنها غرق خواهید شد.برای مثال اگر قرار است در نقاط مختلف نرم افزار خود ارسال ایمیل انجام دهید در ابتدا سعی کنید یک کلاس یا متد برای ارسال ایمیل پیاده سازی کنید که تمامی نیاز شما را پوشش دهد و از آن به بعد فقط از همان کلاس استفاده کنید. حال اگر نیاز داشتید به هر دلیلی تغییری در نحوه ی ارسال ایمیل ایجاد کنید فقط یک نقطه برای تغییر خواهید داشت و خود و سایر اعضای تیم را مامور یافتن نقاط ارسال ایمیل، اصلاح، تست و غیره نخواهید کرد. تغییر این قسمت منطق نرم افزار شما را تهدید نکرده و زیر سیستمهای تغییر را حس نخواهند کرد.</description>
                <category>عباس کشوری</category>
                <author>عباس کشوری</author>
                <pubDate>Sun, 08 Dec 2019 17:59:47 +0330</pubDate>
            </item>
                    <item>
                <title>حالت God Mode در Windows 10!</title>
                <link>https://virgool.io/@abbas.keshvari/%D8%AD%D8%A7%D9%84%D8%AA-god-mode-%D8%AF%D8%B1-windows-10-whekcbk3ivzn</link>
                <description>اگه از اون دسته آدمهایی هستید که خیلی وقته که با ویندوز سروکار دارید، احتمالا God Mode به گوشتون خورده! معنی اصلی God Mode در واقع Windows Master Control Panel هست، به این معنی که ویندوز به شما این اجازه رو میده که به تمامی تنظیمات کنترل پنل سیستم عامل در یک فولدر دسترسی داشته باشید.چجوری God Mode رو فعال کنیم؟ روی دسکتاپ کلیک راست کنید! و یک فولدر با نام زیر بسازید! همین!GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}اگر بعد از تغییر نام آیکن فولدر تغییر کرد و نامش هم حذف شد، میتونید مطمئن باشید که کار رو به درستی انجام دادید. روی فولدر کلیک کنید و واردش بشید. تقریبا به همه تنظیمات ویندوز دسترسی پیدا کردین!</description>
                <category>عباس کشوری</category>
                <author>عباس کشوری</author>
                <pubDate>Sun, 08 Dec 2019 17:18:20 +0330</pubDate>
            </item>
            </channel>
</rss>