Altyordamlar ve Altyordamları kullanmanın avantajları

Bu makalemizde sık sık aynı komutları yazmak yerine kullanacağımız altyordamları ve avantajlarını anlatacağım. Aynı ifadeleri birden fazla kez yazmak muhtemelen çok da anlamlı olmayacaktır. İşte burada Altyordamlar faydalı olurlar.
Bir altyordam, daha büyük bir program içerisindeki kodun genellikle çok özel bir şey yapan ve programdaki herhangi bir yerden çağırılabilen bir bölümüdür. Altyordamlar, Sub anahtar kelimesinin ardından gelen bir isimle tanımlanırlar ve EndSub anahtar kelimesiyle sonlandırılırlar. Örneğin; aşağıdaki küçük parça ismi ZamanıYaz olan bir altyordamı temsil etmektedir ve bu altyordam, o andaki zamanı TextWindow’a yazdırma işini yapmaktadır.

Sub ZamanıYaz
TextWindow.WriteLine(Clock.Time)
EndSub
ZamanıYaz ()
TextWindow.Write("Adınız ve soyisminiz: ")
name = TextWindow.Read()
TextWindow.Write(name + ", şu anda saat: ")

ZamanıYaz ()

altyordamı uygulamak istediğinizi söylemek için, “()” noktalama işaretleri gereklidir.
yukarıdaki programın ekrandaki görüntüsü.

Altyordamları kullanmanın avantajları

Biraz önce yukarıda gördüğümüz gibi, altyordamlar yazmanız gereken kod miktarını azaltırlar. ZamanıYaz altyordamını bir kez yazdığınızda, onu programınız içerisindeki herhangi bir yerden çağırabilirsiniz ve çağırdığınızda o andaki zamanı yazdıracaktır.
Buna ek olarak, altyordamlar karmaşık problemlerin daha basit parçalara ayrılmasına da yardımcı olabilirler. Diyelim ki çözmeniz gereken karmaşık bir eşitlik var, bu karmaşık eşitliğin daha küçük parçalarını çözen çeşitli altyordamlar yazabilirsiniz. Daha sonra, orijinal karmaşık eşitliğin çözümünü elde etmek için, bunları bir araya getirebilirsiniz.
Ayrıca altyordamlar, bir programın okunabilirliğinin iyileştirilmesine de yardımcı olabilirler. Diğer bir deyişle, programınızın ortak olarak çalışan bölümleri için iyi isimlendirilmiş altyordamlarınız varsa, programınızın okunması ve kavranması daha kolay hale gelir. Bu, bir başka kişinin yazdığı programı anlamak istediğinizde veya programınızın başkaları tarafından anlaşılmasını istediğinizde çok önemlidir.  Bazen bu, kendi programınızı mesela yazdıktan bir hafta sonra okumak istediğinizde de faydalıdır.
Not: Unutmayın ki; bir SmallBasic altyordamını yalnızca aynı program içerisinden çağırabilirsiniz. Bir altyordamı başka bir program içerisinden çağıramazsınız.
Bir Örnek daha verelim.

TextWindow.Write("Birinci sayıyı girin: ")
sayi1 = TextWindow.ReadNumber()
TextWindow.Write("İkinci sayıyı girin: ")
sayi2 = TextWindow.ReadNumber()
buyuksayı()
TextWindow.WriteLine("buyuk sayı: " + max)
Sub buyuksayı
  If (sayi1 > sayi2) Then
    max = sayi1
  Else
    max = sayi2
  EndIf
EndSub

Yukarıdaki programın sonucu