بایگانی

Archive for ژوئن 2010

PowerCommand for Visual Studio

PowerCommand یک Extension فوق العاده برای VS هست که امکانات زیادی رو در اختیار کاربران قرار می دهد.

بعضی امکاناتی که در اختیار ما قرار خواهد داد(می توانید در Document آن مشاهده کنید):

1. امکان کپی کردن آدرس پروژه

2. ایمیل کردن قسمتی از کد

3. بازکردن Visual Studio Command Prompt:

4. امکان مرتب سازی و حذف کردن Namesapce های کل پروژه:
این امکان در خود VS وجود دارد ولی برای استفاده از آن مجبور خواهید بود برای هر کلاس به طور مجزا این کار را انجام دهید.ولی با این امکان کل پروژه شما از این لحاظ Optimize خواهد شد

و بسیاری از امکانات دیگر که میتوانید در Document آن مشاهده کنید
برای اطلاعات بیشتر و دانلود این Extension می توانید به این لینک مراجعه کنید

دسته‌ها:Visual Studio برچسب‌ها: , ,

تفاوت File Version و Assembly Version

در حالت کلی File Version مربوط به فایل ها یا DLL هایی است که شما میتوانید در برنامه خود استفاده کنید.و Assembly Version مربوط به برنامه خود شما خواهد بود که در آن تعیین میشود چه نوع فایل هایی میتوانند در برنامه استفاده شوند.

اگر بخواهم یک مثال بزنم:
مجموعه Office رو در نظر بگیرید.فرض کنید با Word 2007 دارید کار میکنید.در این ورژن از نرم افزار شما قادر خواهید بود با File Version های doc و docx کار کنید و آنها را درون نرم افزار load کنید.در حقیقت این به معنی وجود یک Assembly Version به همراه دو File Version است.Word 2003 و 2007 کاملا متفاوت از هم رفتار میکنن در حالیکه فرمت doc در آنها یکی خواهد بود(البته این یک نگاه کلی بدون در نظر گرفتن جزئیات است).

این مورد را هم میتوانیم در تفاوت آنها در نظر بگیریم که چهارچوب و سیستم عاملی که شما از آن استفاده میکنید فقط درگیر Assembly Version خواهند بود و مسئولیتی در قبال File Version نخواهند داشت.
شما هربار که برنامه رو Build میکنید در واقع بر حسب کدهایی که در برنامه تغییر داده اید Assembly Version رو افزایش خواهی داد که این کار توسط خود VS یا نرم افزارهای Versioning قابل انجام خواهد بود.اما در مورد File Version این ترفند کاملا به خود شما و سیاست نرم افزار شما بستگی دارد.یعنی برخلاف File Version ، Assembly Version توسط .Net Runtime و دیگر نرم افزارهای Versioning استفاده می شود….

این از تفاوت.اما اینکه کی از File Version و کی از Assembly Version استفاده کنیم نیز جای بحث دارد.برای مثال:

اینکه شما می خواهید یکی از این دو را افزایش دهید بستگی به یک سوال دارد:
شما برای چه منظور برنامه را ویرایش میکنید؟

و جواب آن به شما کمک خواهد کرد تا بفهمید کدام را افزایش دهید:

  1. آیا میخواهید Interface برنامه رو تغییر بدید؟ در این مورد Assembly Version را افزایش دهید.اما چرا؟ این به این دلیل است که شما Interfaceی به برنامه اضافه کرده اید که در ورژن های قبلی کاربران از آن استفاده نمی کرده اند.
  2. قابلیت جدیدی رو به نرم افزار اضافه کنید؟ در این مورد نیز Assembly Version را باید افزایش داد.چون در این مورد شما می خواهید نرم افزار قبل همچنان پابرجا باشد و اگر کاربران خواستند از قابلیت های اضافه شده استفاده کنند.
  3. باگی رو میخواهید اصلاح کنید؟ در این صورت File Version را باید افزایش دهید.چرا؟ در این مورد اینکه به تمام کاربران بگوئید که به ورژن جدید switch کنند کمی دردسر خواهد بود.مفهوم Package ها نیز در اینجا مطرح می شود.در واقع Package ها به نرم افزار شما این قابلیت را خواهند داد تا از پذیرفتن چیزهایی که قبلا به عنوان باگ در نرم افزار پذیرفته می شده است پرهیز کنند.(البته در اینجا شاید بتوان گفت که در ورژن بعدی نرم افزار این باگ نیز برطرف می شود.ولی این از اصول طراحی نرم افزار است ولی در حال حاضر به هیچ عنوان نباید به خاطر یک باگ یک Assembly Version تازه داشته باشیم)
دسته‌ها:C#.Net برچسب‌ها: , , ,

Think, Don’t Read

سلام.چند وقت پیش یه وبلاگی رو دنبال میکردم که توی یکی از پست هاش نویسنده این مطلب رو گذاشته بود.گفتم بذارم دوستان لذت ببرن:

Now I am asking for trouble.  But here is my issue.  I often come across developers who make decisions based on what they read and not based on careful thought and analysis.  I hate when someone says let’s do this because its a Microsoft Best Practice.  Why is it a Best Practice I ask?  Does it apply to your situation?  The reply I often get is «but its a Microsoft Best Practice.»  Recently I interviewed about 10 people for a Java developer position.  I asked each candidate to tell me what «Spring» is and why should it be used.  The answers I got included:

  • Everyone uses Spring
  • Spring is a must for Java projects
  • Spring is now almost a standard
  • You cannot build a Java application without spring.

and many others.  But no one, not even one, told me what Spring was and why it was a good idea to use it.  And therein lies the problem.  A lot of us go by buzzwords, blogs, books etc and not by what we know by virtue of careful thought and analysis of the situation.  Hmmmmm! said the right way and I could sound like Yoda.  If only I were that cool.

دسته‌ها:Uncategorized