C# proqramlaşdırma sahəsində “Kod Müqavilələri” daha etibarlı və başa düşülən kod yaratmağa kömək edən güclü, lakin tez-tez nəzərdən qaçırılan bir vasitədir. O, əvvəlcədən təyin edilmiş şərtləri, sənəd kodunu tətbiq etmək və sınaqdan keçirmək üçün alətlər və kitabxanalar toplusunu təmin edir.
Kod Müqavilələrini Anlamaq
Kod Müqavilələri Microsoft tərəfindən hazırlanmış və .NET Framework-ə inteqrasiya olunmuş texnologiyadır. Kodda müəyyən ilkin şərtləri və sonrakı şərtləri tətbiq edir. Məsələn, o, metodun müəyyən diapazonda parametr qəbul etməli və ya xüsusi formatda dəyər qaytarmalı olduğunu müəyyən etməyə imkan verir.
Tətbiqlər və Üstünlüklər
• Təsdiqləmə və Sazlama: Kod Müqavilələri kodunuzun gözlənildiyi kimi işləməsini təmin edərək xətaların daha tez aşkarlanmasına kömək edir.
• Sənədləşdirmə: Açıq şəkildə müəyyən edilmiş şərtlər və ilkin şərtlər kodun nə edəcəyinin aydın sənədləşdirilməsini təklif edir və bununla da kodun başa düşülməsini artırır.
• Optimallaşdırma: Müqavilələr kodun optimallaşdırılmasına töhfə verə bilər, çünki şərtlər yerinə yetirilmədikdə səhvləri və ya lazımsız yoxlamaları idarə etməyə kömək edir.
İstifadə qaydası
Kod Müqavilələrinə Contract sinfindən istifadə edərək System.Diagnostics.Contracts ad məkanı vasitəsilə daxil olur. İlkin şərtlər, sonrakı şərtlər və invariantlar üçün müxtəlif üsullar mövcuddur.
Məsələn:
___HTMLTAG_77__HTMLTAG_78___System.Diaqnostics.Contracts istifadə edərək;ictimai sinif Kalkulyator
{
ictimai int Bölmə(int sayacı, int) məxrəc)
{
Müqavilə.Tələb edir(məxrəc != 0);
Müqavilə.Təmin edir(Müqavilə.Nəticə() >= 0);
qaytarılması say / məxrəc;
}
}
Yuxarıdakı misalda Contract.Requires və Contract.Bölün metodu daxilindəki ifadələr müvafiq olaraq metod çağırışından əvvəl və sonra yerinə yetiriləcək müəyyən şərtləri müəyyənləşdirir.
Nəticə
Kod Müqavilələri C# proqramçılarına öz kodlarının təsdiqi, sənədləşdirilməsi və sınaqdan keçirilməsi üçün möhkəm alət təqdim edir. Bu, daha etibarlı, başa düşülən və saxlanıla bilən kod bazalarının yaradılmasını asanlaşdırır, daha möhkəm və təmiz kodlaşdırma mühitinə töhfə verir.