چهارشنبه, ۲۶ دی, ۱۴۰۳ / 15 January, 2025
ده نرم افزار سودمند برای برنامه نویسان حرفه ای دات نت
اگر برنامهنویس باشید شاید صدها سورسكد و برنامه كاربردی جالب دم دست دارید كه به استفاده از آنها عادت كردهاید. با اینكه نرمافزار ویژوال استودیوی دات نت بهقدری خوب نوشته شده است كه تقریبا نود درصد نیازهای هر برنامهنویس را تامین میكند، اما داشتن این ابزارها از ضروریات دنیای برنامهنویسی است و كاركردن در این حوزه بدون بهرهگرفتن از چنین وسایلی لطف كمی دارد.
این ماجولها و ابزارهای جانبی حاصل تجربیات برنامهنویسان دیگری هستند كه به مرور زمان خلا وجود آنها را احساس كردهاند.تمام برنامههای معرفی شده در این مقاله، جالب و كمابیش مهم هستند. ولی به سبك معرفی پرفروشترین فیلمهای سینمایی از ابزارهایی كه در نگاه اول اهمیت و جذابیت كمتری دارند شروع میكنیم. با این حال اگر كمی دندان روی جگر بگذارید، به تدریج هرچه به انتهای مقاله میرسیم نرمافزارها جالبتر میشوند! بنابراین از دهمین برنامه شروع میكنیم.
● دهم: NDoc
ابزاری كه میخواهم معرفی كنم فقط به كار برنامهنویسان حرفهای میآید. برنامه NDoc به شما كمك میكند برای نرمافزاری كه نوشتهاید یك سند راهنمای برنامهنویسی (Help Documentation) بسازید. این سند به چه دردی میخورد؟ این راهنما در چند سناریوی مختلف مفید واقع میشود. مهمترین كاربرد NDoc هنگامی است كه در یك تیم برنامهنویسی كار میكنید و باید كارهای خود را مستند كنید و لازم است مستندات برنامهای را كه نوشتهاید به مدیر خود ارائه دهید تا او بتواند با تكیه براین مستند از سازوكار و ساختار نرمافزار شما سردربیاورد و در صورت لزوم برنامهنویس دیگری را برای كمك به روند پیشرفت پروژه و خود شما، به خدمت بگیرد.
اگر سورس كد شما فاقد راهنما باشد، هیچكس، جز خودتان، از آن سردرنمیآورد و بدتر از آن، حتی خود شما نیز ممكن است بعد از چند ماه اصلا فراموش كنید كه ساختار درونی یك قطعه از كدی كه نوشتهبودید چگونه بود. این مشكل بهویژه هنگامی بروز میكند كه مدت چند ماه بخش خاصی از نرمافزار خود را دستكاری نكردهاید.
در تمام این حالتها داشتن یك سند راهنما مفید واقع میشود. برای این منظور NDoc از قابلیت مستندسازی با استفاده از XML در زبان سی شارپ كمك میگیرد. البته اگر با ویژوال بیسیك داتنت كارمیكنید، میتوانید با استفاده از یك add-on همین قابلیت را به محیط IDE ویژوال بیسیك اضافه كنید.
برای آشنایی با متدولوژی مستندسازی با استفاده از XML باید به راهنمای برنامهنویسی با سیشارپ در MSDN مراجعه كنید. اطلاعات بیشتر و نیز لینك add-on مذكور در سایت NDoc وجود دارد. پس از مستندسازی كد با استفاده از XML میتوانید از NDoc برای تولید فایل Help از نوع chm یا با فرمت HTML (به سبك MSDN) یا به سبك نسخه آنلاین MSDN استفاده كنید. برنامه NDoc را به صورت رایگان میتوانید از نشانی ndoc.sourceforge.net دریافت كنید.
● نهم: RegexDesigner.NET
نهمین ابزار احتمالا خیلی به دردتان میخورد. اگر با متغیرهای رشتهای در دات نت كاركرده باشید، لابد نام كلاس Regex به گوشتان خوردهاست. این كلاس قدرتمند قابلیت یافتن هر نوع الگوی پیچیده متنی را در یك متغیر رشتهای در اختیار برنامهنویس قرار میدهد. مثلا اگر در قسمتی از یك برنامه تحت وب بخواهید كنترل كنید كه شماره تلفنی كه كاربر وارد فرم میكند دهرقمی است و حتماً با ۰۲۱ شروع شود، یا اگر بخواهید متنی كه او به عنوان آدرس ایمیل وارد میكند حتما دارای علامت و نقطه (دات) باشد، این كلاس خیلی كمكتان میكند. در واقع Regex را میتوان یك موتورجستجوی كوچك نامید كه در پیدا كردن یك الگوی متنی استاد است. تكنیكی كه این كلاس بهكار میبرد، تكنیك معروفی بهنام Regular Expressions است. با این وجود گرامر و syntax این كلاس خودش مقوله پیچیدهای است و یادگرفتن نحوه كار با آن به مهارت و تجربه نیاز دارد.
اگر در برنامههایی كه مینویسید از Regex استفاده نمیكنید، مزیت عمدهای را از دست دادهاید. ولی اگر كاركردن با گرامر Regex برایتان سرگیجهآور است، RegexDesigner.NET به شما كمك میكند. به كمك این ابزار میتوانید توصیفی ویژوال و بصری از یك الگوی متنی داشته باشید. در این صورت RegexDesigner در نوشتن گرامر آن الگو كمك میكند. این برنامه را به همراه یك دوجین utility كاربردی دیگر میتوانید از نشانی www.sellsbrothers.com/tools دریافت كنید.
● هشتم: Nunit و NUnitASP
هشتمین ابزاری كه میخواهم معرفی كنم واقعا مهم است. آنقدر مهم كه شاید بهزودی مقاله مفصلی درباره آن بنویسم.
برنامه NUnit به كار برنامهنویسان حرفهای میآید و هنگامی مفید واقع میشود كه از متدولوژی TDD در برنامهنویسی استفاده میكنید. متدولوژی Test Driven Development) TDD) روش ویژهای در برنامهنویسی است كه طی آن برنامه نویس قبل از آنكه شروع به برنامه نویسی كند، ابتدا سناریوهای مختلف مربوط به ورود و نمایش دادهها را بررسی میكند و در هر مورد بدترین حالت را درنظر میگیرد. سپس برای این بدترین حالتها یك یونیت تست مینویسد و برنامهنویسی را شروع میكند.
پس از نوشتن كد، برنامه خود را داخل یونیت موردنظر قرار میدهید و آزمایش میكنید، ببینید هنگام اعمال بدترین شرایط مذكور چه واكنشی نشان میدهد.
مثالی میزنم. فرض كنید برنامهای نوشتهاید كه از كاربر تعداد اقلامی را میپرسد كه میخواهد سفارش دهد و سپس روند ثبت سفارش را انجام میدهد. حالا فكر كنید كاربری صفر قلم كالا سفارش دهد و دكمه ثبت سفارش را فشار دهد. چه اتفاقی میافتد؟
آیا برنامه شما error خواهد داد؟ معلوم نیست. در واقع میتوانید انواع و اقسام بدترین حالت ها را تصور كنید. یك نرمافزار خوب نرمافزاری است كه نه فقط در شرایط عادی خوب كار كند بلكه در شرایط غیر عادی نیز به همان خوبی كار كند و قبلا آن شرایط را پیشبینی كرده باشد.
به این تكنیك برنامهنویسی كه البته قدمت زیادی هم دارد TDD میگویند. برنامه NUnit برای برنامهنویسان داتنت ساخته شده است و مشابه JUnit است كه برنامهنویسان جاوا استفاده می كنند. برنامه NUnitASP نیز به درد آن دسته از برنامهنویسان وب میخورد كه از ASP.NET استفاده میكنند. ابزار Nunit را از نشانی www.nunit.org وNunitASP را از نشانی nunitasp.sourceforge.net دانلود كنید.
● هفتم: Visio
نرمافزار Visio احتمالا برای خیلی از شما نام غریبی نیست. برنامه Visio مایكروسافت كه عضوی از خانواده مجموعه نرمافزاری آفیس به شمار میرود، یكی از ابزارهای سودمندی است كه برنامه نویسان حرفهای باید به استفاده از آن عادت كنند. البته شما میتوانید از سایر نرمافزارهای مشابه نیز استفاده كنید و محدود به محصولات مایكروسافت نباشید.
برنامه ویزیو بهطوركلی برای ترسیم فلوچارت و دیاگرام است. اما دو قسمت از این برنامه خیلی به كار برنامهنویسان میآید: یكی امكانات رسم دیاگرام بانك اطلاعاتی و دیگری قسمت مربوط به مدل سازی.UML قسمت مربوط به ترسیمات بانك اطلاعاتی را میتوانید از طبقهبندی Database (هنگام ایجاد یك رسم جدید) پیداكنید و مدل سازیUML هم بخشی از طبقهبندی Software در ویزیو است.
در قسمت دیتابیس میتوانید دیاگرام كاملی از یك بانك اطلاعاتی رابطهای SQL Server را رسم كنید. تصویرسازی از ساختار بانك اطلاعات مزایای متعددی دارد. گذشته از این واقعیت كه مستندسازی ساختار بانك اطلاعات یكی از ملزومات كار برنامهنویسی تیمی است، این كار در تكنیكهای طراحی بانك اطلاعاتی، مانند Normalization بسیار مفید واقع میشود.
به كمك امكانات ویزیو در قسمت مدلسازی UML میتوانید كلاسها و اشیای ساختار نرمافزاری را كه براساس متدولوژی شیگرا نوشتهاید، رسم كنید. البته قابلیتهای ویزیو در این زمینه به پای نرمافزارهای قدرتمندی مانند Rational Rose نمیرسد. ولی برخلاف Rose كاركردن با آن بسیار آسان است و میتوان خیلی از كارهای پایهای را به كمك آن انجام داد.
● ششم: JLCA
ششمین نرمافزار یكی از ابزارهای بسیار مفیدی است كه كمتر درباره آن صحبت شدهاست. اگر برنامهنویس دات نت باشید حتما از رقابت میان داتنت و جاوا خبر دارید. معمولا برنامهنویسان داتنت مایلند از میزان قدرت و تواناییهای كدهایی كه با جاوا نوشته میشوند، خبر داشته باشند. برنامهنویسان جاوا نیز احتمالا علاقمندند بدانند چه امكانات جالبی در كد برنامههای پیشرفته مبتنی بر دات نت وجود دارد. برنامه JLCA ابزار قدرتمند برای گروه اول است. این برنامه كوچك و جمعوجور یك كار فوقالعاده پیچیده را برای برنامهنویسان دات نت آسان میكند و آن تبدیل سورس كد جاوا به معادل داتنتی آن است.
نسخه سوم این مبدل از كتابخانههای ۱.۳ J۲EE و JDK ۱.۳ كاملا پشتیبانی میكند. این نسخه همچنین معماریAWT جاوا را كه از بخشهای مهم آن محسوب میشود، میفهمد و میتواند ماجولهای EJB، JAAS، JCE، JMS،JNDI و RMI را نیز تبدیل كند.
جالبتر اینكه مبدل JLCA میتواند صفحات وب پویا JSP را به معادل ASP.NET آنهاتبدیل كند. این برنامه همچنین قابلیت تبدیل اپلتهای جاوا به User Control های معادل در ASP.NET را دارد. البته این مبدل جادو نمیكند و خیلی از بخشهای بغرنج سورس كد را تبدیل نشده رها میكند و نباید توقع چندانی از JLCA داشته باشید.
اما خوشبختانه این مبدل پس از پایان عملیات تبدیل یك پروژه جاوایی به سی شارپ، گزارش كامل و دقیقی از آنچه انجام داده است تهیه میكند كه به شما كمك میكند بدانید كدام قسمتها صددرصد بدون مشكل تبدیل شدهاند و كدام قسمتها را باید خودتان دستی اصلاح كنید.
برنامه JLCA همچنین برای آن دسته ازبرنامهنویسان جاوا كه مایلند به پلتفرم داتنت مهاجرت كنند سودمند است. برای دانلود رایگان این برنامه میتوانید به این نشانی مراجعه كنید:
http://msdn.microsoft.com/vstudio/downloads/tools/jlca/default.aspx
● پنجم: VBConversions
VBConversions مبدل سودمند دیگر است. اگر به بحث تبدیل سورس كد از یك زبان به زبان دیگر علاقمند شدید، شاید برایتان جالب باشد بدانید آیا ابزاری وجود دارد كه سورس VB.NET را به سیشارپ تبدیل كند یا نه. مبدل VB.NET to C Convertor همین كار را برایتان انجام میدهد. البته این برنامه رایگان نیست. ولی نسخه shareware آن را میتوانید از نشانی www.vbconversions.com دانلود كنید.
تبدیل پروژههای VB.NET به سی شارپ برای كسانی مفید است كه به كار با ویژوال بیسیك عادت كردهاند. ولی كنجكاوند ببینند برنامههایی كه با VB.NET نوشتهاند، وقتی به سیشارپ تبدیل میشوند چه شكلی خواهند داشت. معمولا از زبان سی شارپ خیلی تعریف میشود و همه جا گفته میشود سی شارپ مشابه جاوا است. بنابراین خیلی از برنامهنویسانی كه با ویژوال بیسیك داتنت كار میكنند تصور میكنند، به دلیل عدم بهرهگیری از سی شارپ مزیت عمدهای را از دست دادهاند.
تبدیل برنامهها VB.NET به سی شارپ به شما ثابت خواهد كرد كه این تصور نادرست است و قابلیتهای این دو زبان تا حدود نوددرصد مشابه یكدیگر است و تفاوت اصلی تنها در syntax زبان است.
بنابراین حیف است وقتی این دو زبان به یك میزان قدرتمند هستند نتوانید برنامههای خود را در نسخه سیشارپ هم داشته باشد. اگر فكر میكنید فرصت آموختن سیشارپ از ابتدا را ندارید، چه خوب است متد آموزش از طریق مثال را بهكار بگیرید و چه مثالی بهتر از برنامههایی كه خودتان نوشتهاید؟
با تبدیل برنامههای VB.NET به سی شارپ یك قدم به جاوا نزدیكتر میشوید و در این صورت میتوانید از مبدل JLCA نیز برای تبدیل سورسهای جاوا به سی شارپ بهره بگیرید و سناریوی خود را كامل كنید.
مبدل VBConversions میتواند پروژههای ویژوالبیسیك را به صورت تكی یا چندتایی به سیشارپ تبدیلكند. این ابزار همچنین قابلیت تبدیل اسكریپتهای ویژوالبیسیك را بدون نیاز به ویژوال استودیو دارد. ویزارد این برنامه میتواند شما را قدم به قدم در تبدیل موفقیت آمیز یك پروژه راهنمایی كند. قابلیت Open CodeChecker این برنامه میتواند مشكلات بالقوهای كه در تبدیل سورس ویژوال بیسیك شما به سی شارپ وجود دارد را برای شما مشخص كند.
بهروز نوعی پور
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست