Şablon proqramın izahı | Gəlin VS’ya çox da güvənməyək…| Dərs 4

Kodera
Kodera
Published in
3 min readJun 21, 2018

Keçən məqalədə yaratdığımız proyekti yenidən açın. Bu dərsdə Dərs 3-də izahsız yazdığımız kodları başa düşməyə çalışacağıq.

“A macro shot of two pieces of rope linked together” by Gwen Weustink on Unsplash

Bəli, qarşımıza belə pəncərə açıldı:

· Başlayaq 1-ci sətirdən:

using System;”: Bu sətir Sistem kitabxanasını proqramı çalışdırmaq üçün çağırır. Bilirəm, “kitabxana” bir az qərib gəldi. Gəlin izah edək. Kitabxana dedikdə, özündə sinifləri, “namespace” adlanan ad fəzalarını, “.dll” uzantısına malik faylları özündə cəmləşdirən bir fayl nəzərdə tutulur. Son cümlədə hələ də qaranlıq sözlər olduğunu bilirəm. Hələlik söz olaraq bilək, izahını verərik.

Həmin bu Sistem kitabxanası kompyuterinizdə “C:\Windows\Microsoft.NET\Framework64\v4.0.30319\” ünvanında yerləşir. Bu fayl vasitəsi ilə biz dəyişən tipləri, standart siniflər, həmçinin Console sinfinə çata bilirik. Əlbəttə ki, System kitabxanası proqramın ən bəsit formada çalışması üçün lazımlı kitabxanadır.

· 2-ci sətir:

class Program”: Bu sətir, “Program” adlı bir sinif elan edir. C# dili obyekt yönümlü dil olduğundan hər bir kod hər hansısa bir sinfin içərisində yerləşməlidir. Qeyd olunduğu kimi siniflər haqqında gələcək dərslərimizdə danışacayıq.

· 3-cü və 9-cu sətirlər:

{” və “}”: Hər hansısa bir sinif, dəyişən, metodun ehtiva etdiyi kodlar onun gövdəsində yazılmalıdır. C# dilində gövdələri müəyyən etmək üçün qeyd olunan simvollar — fiqurlu mötərizələr istifadə olunur. Proqramdan gördüyünüz kimi hər şey bu fiqurlu mötərizələrin daxilində yazılıb.

· 4-cü sətir:

static void Main(string[] args)”: Bu sətirdə yeni bir metod elan edirik. Bu metod proqramın başlanğıc nöqtəsidir. Əlbəttə ki, başlanğıc nöqtə bir ədəd ola bilər. Analogiya ilə, Hər bir “class”da da bir başlanğııc metodu olmalıdır. Main adında. Özü də “static void Main”!

Buradakı “static” sözü Main metodunun ƏS tərəfindən çağırılacağına görə qeyd olunmalıdır. “void” isə metod işini qurtardıqdan sonra heç bir dəyər qaytarmayacağı deməkdir. Qısaca, proseslər bu metod daxilində baş tutacaq, və proqram sonlanacaq.

Və bu mövzunun olmazsa-olmaz`ı: Hər bir proqramda yalnız bir “static void”i ola bilər və bu “Main” adlandırılmalıdır.

· 6-cı sətir:

Console.WriteLine(“Salam Kodera”);”: Aha! İlk kodumuzdur ki, nəsə iş görür! Gəlin baxaq görək ki, necə?! Bu sətirdə, Console sinfindəki “WriteLine()” metodu “Salam Kodera” dəyəri ilə çağırılıb. Bunu qısaca belə başa düşmək olar: “Console.WriteLine()” mötərizələr içərisində dırnaqların əhatəsində ekrana yazı yazdırmaq üçün istifadə edilir.

· Son olaraq, 7-ci sətir:

Konsol proqramları əməliyyatı bitirdikdən sonra dərhal bağlanır. Çünki, etməyə “iş” qalmır. Bunun qarşısını almaq, yəni prosesləri izləyə bilmək üçün müəyyən metodlardan istifadə olunur. Bunlardan Biri də “Console.ReadKey();” — dir. Yəni, proqram istifadəçidən nəsə daxil etməsini gözləyir.

Beləliklə, ilk kodumuzu təhlil etdik. Gəlin test üçün bir sintaktik xəta edək: “Console.ReadKey()”-dən sonra gələn “;” işarəsini silək. Sildiyim yerdə dalğalı qırmızı xətt peyda olacaq. Aha, Visual Studio sağ olsun! Səhvimizi kompilə etməmişdən əvvəl bizə göstərdi. Necə? Bax belə: Demişdik axı, Visual Studio (qısaca VS) İDE-dir. Yəni, daha təkmil mətn redaktorudur. Hansı ki, yazdıqlarımız nəzarətdə saxlayır, tamamlayır və sair. Aldığımız error:

Aldığımız səhv

Gördüyünüz kimi, “; expected” erroru aldıq. Yəni, “;” gözlənilmədi. Bu o deməkdir ki, sözügedən simvolu buraxmışıq.

Əlbəttə ki, VS nə süni intellekt, nə də bir insandır. Buna görə də bəzən səhvləri düzgün deyə bilmir. Məsələn, ReadKey-dən sonra gələn “(” simvolunu silək.

İki səhv meydana gəldi. Lakin heç biri düzgün bildiriş deyil. Buradan belə nəticəyə gəlmək lazımdır: Sırf səhv olan sətri yoxlamaqdansa, ətraf sətirləri də yoxlamaq lazımdır.

Bu dərsimiz digərlərinə nisbətən qısa oldu. Gələn məqaləmizdə isə artıq dəyişən tipləri, onların elan olunması və sair mövzulara daxil olacayıq.

Oxuduğunuz üçün, Təşəkkürlər!

Bu məqaləni bir zarafatla bitirək.

“Əgər bütün kodu “try {} — catch{}” daxilinə alarsınızsa, heç bir səhv olmayacaq.”

--

--