آخرین اخبار و مقالات و مطالب پیرامون assembly در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران
بر روی این دامنه اینترنتی سیستم مدیریت محتوا
پارس سی ام اس
نصب شده است که نرم افزاری قوی جهت طراحی سایت
می باشد. طراحی وب
با استفاده از پرتال
( پورتال
) پارس منجر به طراحی وب سایت
شما می شود. طراحی وب سایت
کپی رایت پورتال
پارس
هیچ برنامه نویسی نمی تواند مدعی باشد که قطعه کدی که نوشته است درست و بدون مشکل کار می کند، همیشه یک حالت هست که شما آن را در نظر نگرفته اید و همان باعث بروز خطا می شود. پس هیچ گاه نباید کامپایل درست کد را به حساب درست بودن آن بگذارید.
خب چاره چیست؟ آزمون های پیاپی توسط افراد متفاوت؟ این عمل در فاز اولیه توسعه هزینه بر است. بهتر است منتظر بمانید تا گروه آزمایش، درستی عملکرد کد شما را تایید کند. برای گرفتن این تاییدیه آزمایش های واحد (unit testing) به کمک شما خواهد آمد. آزمایش واحد بیشتر برای تعیین درستی کارکرد یک متد به کار می رود.
آیا هر متدی را می توان در آزمایش واحد گنجاند؟
بی شک نه! چراکه برای هر آزمایش واحد، حد و مرزی وجود دارد و آزمایش باید در آن حد و مرز قرار بگیرد. مثلا متدی که برای وصل شدن به پایگاه داده است یا بارگذاری فایل از اینترنت یا خواندن فایل، جزو آزمایش های واحد محسوب نمی شود. برای مثال اگر یکی از متدهای شما بزرگترین عدد یک فهرست را از پایگاه داده دریافت می کند، در متدی که برای آزمایش واحد آن تهیه خواهید کرد نباید هیچ گونه کدی جهت برقراری ارتباط با دیتابیس نوشته شود.این امر سبب سریع تر اجرا شدن آزمایش های واحد خواهد شد و در آینده شما را از انجام آن به دلیل کند بودن روند انجام آزمایش ها، منصرف نخواهد کرد. همچنین تغییرات انجام شده در لایه دسترسی به داده ها سبب غیرمعتبر شدن این نوع آزمایش ها نخواهد شد. به بیان دیگر وظیفه متد آزمایش واحد، اتصال به پایگاه داده یا شبکه یا خواندن اطلاعات از یک فایل نیست.
چرا برنامه نویس ها آزمایش های واحد را انجام نمی دهند؟
یکی از دلایل این است که این کار را امری پرهزینه و در مرحله توسعه برنامه بی فایده می پندارند، در صورتی که این تفکر اشتباه است. آزمایش واحد به برنامه نویس ها کمک می کند که از درستی کدهای نوشته شده در همان زمان آگاه شوند و به مرور زمان با حجم عظیمی از کدهای خراب روبه رو نشوند. اگر شما به عنوان برنامه نویس برای هر کدی که می نویسید همان لحظه یک آزمایش واحد هم بنویسید هیچ ضرر زمانی نکرده اید. درست است که آزمایش واحد امری زمان بر است ولی به مرور، این زمان کاهش پیدا می کند. حال بیایید با هم برای یک پروژه کوچک یک آزمایش واحد بنویسیم. فرض کنید شما کلاسی به صورت زیر نوشته اید:
class sampleforunittest {
public sampleforunittest() {
students = new list«string»(); }
public list«string» students {get; set;}
public list«string» getnamewithbiglength
(int length) {
list«string» result = new list«string»();
foreach (var student in students) {
if (student.length »= length) {
result.add(student); } }
return result; }
}
بسیار خب، ما می خواهیم آزمایش واحدی انجام دهیم که درستی عملکرد getnamewithbiglength را نشان دهد، برای این کار از nunit استفاده می کنیم. nunit چهارچوب کاری برای انجام آزمایش های واحد است که تبدیل شده junit (که برای جاوا هست) برای دات نت است. بعد از بارگزاری nunit یک پروژه جدید از نوعclass library ایجاد کرده و فایل اسمبلی nunit.framework.dll را به پروژه خود ارجاع دهید، حال باید کلاسی تعریف کنیم که نشان دهنده آزمایش واحد است. در کلاس ما صفت testfixture باید نشانه گذاری شود. در این کلاس باید متدهایی برای آزمایش تعریف کنیم. این متدها باید با صفت test و به صورت public تعریف شده باشند که نه مقداری را برگردانند و نه مقداری را به عنوان ورودی دریافت کنند. بسیار خب، با توضیحات بالا کلاس آزمایش واحد ما به صورت زیر درخواهد آمد.
[testfixture]
public class fisrttest {
[test]
public void testgethighlength()
{ ... }
}
در بدنه متد testgethighlength باید کدهای مربوط به آزمایش واحد متد getnamewithbiglength نوشته شود. ابتدا یک شیء از کلاس sampleforunittest می سازیم. سپس مقدار ویژگی students را مقداردهی می کنیم و مقدار برگشتی تابع getnamewithbiglength را با مقداری که باید برگرداند مقایسه می کنیم، اگر مقدار برگشتی درست بود نتیجه می گیریم که متد ما کارش را به درستی انجام می دهد، که کد آن به صورت زیر خواهد بود:
var sample = new sampleforunittest();
sample.students.addrange(new string[]
{ «click», «jamejam», «nunit» });
int result = sample.getnamewithbiglength(5).count;
assert.istrue(result == 2);
نکته ای که در کد بالا وجود دارد متد assert.istrue است که این متد یک شرط را چک می کند. اگر نتیجه حاصل از شرط درست بود مقدار true، و اگر غلط بود مقدار false را به nunit می دهد، مقدار بازگشتی از این متد نشان می دهد که متد شما درست است یا نه؟ حال برای آزمون، برنامهnunit ide را که در پوشه نصب شده nunit است، اجرا کرده و یک پروژه جدید بسازید. مسیر پروژه را در همان مسیر پیش فرض قبول کنید و اگر مسیر دیگری را انتخاب می کنید توجه داشته باشید که فایل nunit.framework.dll در آن مسیر وجود داشته باشد. پس از ساختن پروژه از منوی project گزینه add assembly را انتخاب کنید، سپس روی گزینه run کلیک کنید. اگر آزمایش واحد شما درست بوده باشد این مورد به شما اطلاع داده خواهد شد و اگر اشتباه باشد برای هر متد اشتباه، عدد آنها را نیز به همراه نام و خطی که اشتباه است به شما نشان می دهد. این یک مقدمه ساده در مورد آزمایش های واحد بود. اگر فرصتی بود در هفته های آتی دیگر ویژگی های آزمایش واحد را نیز بررسی خواهیم کرد.
امیربهاالدین سبط الشیخ
به طور خلاصه، ضمیمه ای نسبتا جدید برای خانواده زبان برنامه نویسی c است که قرار است جایگزین مناسبی برای ++ c باشد. این زبان برنامه نویسی، الگوهای طراحی و فناوری هایی را از دیگر زبان های برنامه نویسی همچون جاوا و c# وام گرفته است. از ویژگی های d می توان به garbage collected (زباله های جمع شده) اشاره کرد که به همراه شیوه اجرای این برنامه، آن را بسیار سریع تر از رقیبان خود در ماشین مقصد اجرا می کند. ...
... دکتر ممان و دو تن از دانشجویانش شرکت digital assembly را راه اندازی کرده اند که ویرایش تجاری این نرم افزار موسوم به adroit photo را تولید می کند ...
... 2 : - داشتن ویرایشگر wysiwyg - نمایش دستور-syntax های زبان های برنامه نویسی مختلف به صورت رنگی - پشتیبانی از زبان های برنامه نویسی: asp, ada, ascii art, assembly, autoit, bat, c, c#, c++, caml, css, doxygen, fortran, html, haskell, java, javascript, kixtart, lisp, lua, makefile, matlab, objective-c, pascal, perl, php, postscript, python, ruby, scheme, unix shell script, smalltalk, sql, tcl, tex, verilog, vhdl, vb/vbscript, xml ولی این 42 زبان پایان همه چیز این برنامه نیستند ...
... 2 :- داشتن ویرایشگر wysiwyg- نمایش دستور-syntax های زبان های برنامه نویسی مختلف به صورت رنگی- پشتیبانی از زبانهای برنامه نویسی: asp, ada, ascii art, assembly, autoit, bat, c, c#, c++, caml, css, doxygen, fortran, html, haskell, java, javascript, kixtart, lisp, lua, makefile, matlab, objective-c, pascal, perl, php, postscript, python, ruby, scheme, unix shell script, smalltalk, sql, tcl, tex, verilog, vhdl, vb/vbscript, xmlولی این 42 زبان پایان همه چیز این برنامه نیستند!این برنامه قابلیت تنظیم کردن زبان جدید را توسط خود شما را نیز دارد! که در این برنامه به آن user difine به معنی "تعریف شده توسط کاربر" است ...
... 5 : - داشتن ویرایشگر WYSIWYG - نمایش دستور Syntax های زبان های برنامه نویسی مختلف به صورت رنگی - پشتیبانی از زبان های برنامه نویسی: asp, Ada, ASCII art, assembly, C, C#, C++, Caml, css, doxygen, FORTRAN, html, Haskell, java, JAVASCRIPT, KiXtart, Lisp, Lua, makefile, matlab, Objective-C, Pascal, Perl, php, PostScript, Python, Ruby, Scheme, unix Shell Script, Smalltalk, sql, Tcl, TeX, Verilog, VHDL, VB/VBScript, XML - دارای Auto-completion به طوریکه شما می توانید در هر قسمت از متن با فشار دادن کلیدهای Ctrl+Space از کلمه ها و عبارات تعریف شده در زبان برنامه نویسی استفاده کنید ...
... سال 1995 - delphi1در زمان استفاده از سیستم عامل dos برنامه نویسان مجبور بودند از بین زبان پر قدرت ولی کم سرعت Basic و زبان کارآمد ولی پیچیده و نامفهوم assembly یکی را انتخاب کنند ...
... بقیه فرایند دسترسی به دیتابیس به وسیله کد نامریی FastObjects انجام می شود که ارتقا دهنده آن را به assembly شما وارد می کند ...
|
صفحه 1
|
2 |
|