SirAsad [official] Blog

You Will read Technical And Non-Technical Subjects

SirAsad [official] Blog

You Will read Technical And Non-Technical Subjects

آموزش ۵ اصل برای ایجاد کدهای خوب

در بسیاری از موارد و در بعضی از شرکت هایی که بنده افتخار حضور در آنها را داشتم  شاهد این بودم که برنامه نویس ها زیاد به کد نوشته شده اهمیت نمی دهند و فقط نتیجه کد برای شان مهم می باشد ولی به نظر بنده هر قدر کد تمیزتر باشد نگه داری برنامه راحت تر خواهد شد .



http://2.bp.blogspot.com/_6XzX92QqP8U/Se8zIm-q-0I/AAAAAAAAA2I/laaZF1aZUTk/s320/dirty-code.png



منظور از کد تمیز چیست ؟ کد تمیز رو می شود با کد کثیف (Dirty Code) توضیح داد . به هر اندازه ای که کد خوانایی و قابلیت نگه داریش را از دست بدهد در اصلاح می گویند کد کثیف و یا کثیف تر است و در حالت برعکس هم میگویند کل تمیز یا Clean  می باشد .



اصل سادگی 


ما همه روزه شاهد ظهور انواع تکنولوژی ها ,  فریم ورک ها , الگوها ,  ابزار ها و ... هستیم که همیشه هم سعی در یادگیری آنها داشته و داریم . ولی مشکلی که تعدد این مسائل به وجود میآورد باعث پیچیده کردن کدها میشود . ببینید بهترین راه حل ساده ترین آن می باشد نه مشکل ترین آن . پس سعی خواهیم کرد که از این بعد همیشه ساده ترین راه و ساده ترین ابزار ها را انتخاب نماییم .


اول کار بکنه , بعدا سریع تر بشه


به قول اساتید : "بهترین همیشه دشمن خوب است "


در وحله اول باید فقط به فکر تولید کد های خوب باشیم و نه بهترین کدها از نظر سرعت . بعضا این مسئله باعث میشه که اصل یک از بین برود و ما صاحب یک سری کد کثیف بشویم.



از تست اتوماتیک استفاده کنیم


این باعث میشه که اولا در وقت صرفه جویی نمایید . دوما هم باعث میشه افزایش بهروری داشته باشد . سوما باعث میشه که کدهایی که بعدا تولید خواهند شد راحتر تولید بشوند با توجه به تست اتوماتیک .


بررسی کد


کدهایی که نوشته اید را همیشه مرور نمایید و به شاهکار هایتان یکم بخندید . این کار باعث میشود تا بعدا یک اشتباهاتی که در کدهای قدیمی کردین رو دوباره در کدهای جدید انجام ندهید , همان قضیه عبرت .



Refactor


فکر نکنم تا لازم باشه در مورد خوب بودن و یاد بد بودن Refactor صحبت کنیم .  برای اطلاعات بیشتر در این مورد به این لینک مراجعه نمایید .





برداشتی آزاد از سایت Macking Good Software


یاشیاسیز

۷ توصیه یک توسعه گر به برنامه نویس های تازه کار

بعد از مدت های انگشتن کوبیدن بر این دکمه های صفحه کلید و کلیک های فراوان بر روی برنامه های و صفحات وب و خوردن دود چراغ به انداز دلخواه و ... صاحب یکم و دویاره بگم یکم تجربه در زمینه برنامه نویسی و توسعه نرم افزار شده ام که با یکم جستجو در اینترنت و استفاده از سایت code-purity و با استفاده از این تجربیاتی که شرح حالش رو گفتم ,  می خواهم توصیه هایی و نکاتی خدمت کسانی که تازه شروع کرده داشته باشم .





هیچی نمی دونی - اگر تازه از دانشگاه فارغ التحصیل شدی و با دوخط کدنویسی که با پاسکال و یا C و در حالت پیشرفته با VB 6.0 انجام داده ای و فکر می کنی که همه باید جلوی عالی جناب میتی کمون تعظیم کنند در اشتباهی . هرچی که خوندی بذار کنار و از اول شروع کن . عالی جناب میتی کمون باید مثل جومونگ حسابی سعی کار بکنی و حسابی هم یاد بگیری.


نترس سوالات رو بپرس - وقتی که با باگی و یا مشکلی مواجه شدی و ازش سر درنیاوردی برو از متخصص اش بپرس و نترس ... الکی با کدها ور نرو و بی خود وقت خودت رو تلف نکن شاید اون مشکلی که خودت بتونی 1 ساله حلش بکنی بتونی با یه بار سوال کردن از یه متخصص یه روزه حلش بکنی .


مطالعه کردن - اگر در محل کار و یا خانه وقت آزادی رو پیدا کردید در مورد مفاهیم مشکلاتی که با آنها مواجه شدید مطالعه نمایید .


کد مشکل دار رو به مخزن نفرست - در اکثر گروه های برنامه نویسی از برنامه های Source Control مثل SVN استفاده می شود که در این برنامه برنامه نویس تغییرات خودش رو به مخزن اصلاحا Commit میکنه. اگر کدی که نوشتید کامپایل نمیشه لطفا اون رو به مخزن نفرستید چونکه احتمالا بزودی لیدر بخش برنامه نویسی عذرتون رو خواهد خواست .


استاندارد های گروه را یاد بگیرید - به دلیل اینکه هر گروه و تیم در کد نویسی و یا رفع باگ یه روش خاص به خود را دارند وقتی که به عضو گروه جدیدی می شوید در اول سعی کنید که تمام حواس خود را برای یاد گرفتن قوانین آن جا جمع کنید .


برای ارسال کد خود به سمت مخزن حتما یادداشت بگذارید - در هر بار که اصلاحا شما پروژه را Check in می کنید برنامه Source Control این نسخه چک این شده در یه جایی نگه میداره که در صورت بروز مشکل می شه پروژه رو به یه چک این خاص برگردوند و اگر شما در هر بار چک این کردن یک کامنت مثلا بنویسید "حل باگ شماره 22" بعدا دسترسی بهش خیلی آسان خواهد شد.


ممکن است این قست قبلا نوشته شده باشد - اگر به صورت تیمی کار کنید ممکن است یک بخشی که الان شما در حال نوشتن آن هستید (مثلا تبدیل تاریخ میلادی به شمسی) توسط اعضای دیگر گروه نوشته شده باشد . پس بهتر است که بعضی اوقات با دیگر توسعه گر ها یه صحبتی داشته باشید .


یاشیاسیز


رفع مشکل اجرای برنامه در ویندوز ویستا

شاید تا به حال بریتان پیش آمده باشد که برنامه ای که نوشتید در ویندوز ویستا به دلیل مشکل پرمیشن درست کار نکند مثلا زمانی که برنامه می خواهد با دیتابیس کار  کند یک خطا می دهد که شما امکان دسترسی به این بخش را ندارید.


http://tobyvs.com/wp-content/uploads/2008/05/your-current-account-has-no-administrative-privilege.png


اگر شما در این حالت رو برنامه راست کلیک نمایید و گزینه Run as Administrator را بزنید مورد حل خواهد شد . ولی اگر بخواهید که این مشکل را برای همیشه حل کنید باید دست به دامن Manifest شوید.


مانیفست چیست ؟


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



مثلا ما می تونیم در مانیفست مشخص کنیم که برادر ویندوز ویستا زمانی که این برنامه خواست اجرا بشه ,  این رو مدیر در نظر بگیر...


مانفیست شما باید مثل مانیفست پاین باشد :



<?xml version="1.0" encoding="utf-8" ?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
       <assemblyIdentity version="1.0.0.0"
         processorArchitecture="X86"
         name="someExecName"
         type="win32" />
         <description>Your produvt Description</description>
         <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security>
        <requestedPrivileges>
       <requestedExecutionLevel level="requireAdministrator" />
       </requestedPrivileges>
        </security>
        </trustInfo>
   </assembly>


فقط کافیه تمام کد های بالا رو داخل یه نوت پد کپی کنید و طبق دستورالعمل زیر اون رو  ذخیره کنید :

خوب فرض کنید نام اسمبلی شما یه چیزی مثل اینه SirAsad.exe

پس مانیفست شما باید یه چیزی شبیه این باید باشه SirAsad.exe.manifest


و هر جا که اون اسمبلی رو که میدین ,  باید اون فایل مانیفست هم در کنارش باشه.


یاشیاسیز