TeTeOS.Net Team kodlama kuralları
Bu sayfa, TeTeOS.Net ekibinin kodlama yaparken bazı format ve kuralları standarlaştırması ve düzen oluşturması amacıyla yazılmıştır. TeTeOS.Net ekibi, bu kurallara kendi geliştirdikleri araçlarda uymak zorunda olmadıkları gibi bu kuralları kendi araçlarında da uygulayabilirler.
Kodlama kurallarının temel amacı, kodları olabildiğince okunabilir tutmak ve anlaşılabilir tutmaktır. Bu kurallara yorum satırları da dahildir.
T.Frame()
TeTeOS.Net ekibi, desteklenen dillerde T.Frame() kullanacaktır. İstisna olarak basit araçlarda bu kural atlanılabilir.
Dış komutlar için T.Frame() içerisinde yer alan T.CMD_Where()
fonksiyonu kullanılarak tam yol belirlenmelidir. Bu, Path'ın bozuk olduğu veya Path sayılabilecek dizinlerin Path'da olmadığı senaryolarda hayat kurtarıcı olabilir. T_CMD_Where()
ile ulaşılan komutun tam yolu, alt çizgi (_) ile başlayan değişken belirlenerek atanmalı ve kullanılmalıdır.
Örnek 1: .sh
dosyası
T_CMD_Where "rm" && _RM="$RESULT" || (echo "[X] Required command 'rm' not found." && exit 1)
"$_RM" -f "delete_me.txt" &>/dev/null
🗒️ Örneği incelemeden önce hatırlayalım: T.Frame()
fonksiyonlarının çıkış kodu 0 vermesi, işlemin başarılı_ olduğu anlamına gelir. Betik sürümlerinde bazı fonksiyonlar sonucu $T_Result
değişkenine atar.
Betiklerin genelinde &&
operatörü, başarılı olursa anlamına gelir. ||
ise başarısız olursa anlamına gelir.
Yukarıdaki örneği inceleyelim;
satır: rm
komutu T.CMD_Where()
ile kontrol edilir. Tespit başarılı olursa sonuç _RM="$RESULT"
kodu çalışır. Bu da, içeriği komutun yolu olan $_RM değişkeni elde etmemizi sağlar. Tespit başarısız olursa ekrana [X] Required command 'rm' not found.
mesajı yazdırılır ve çıkış kodu 1 belirtilerek betikten çıkış yapılır.
satır: rm
komutu $_RM
şeklinde kullanılır. Bu da komutun arka planda tam yol kullanılarak çağrılmasını sağlar. Örneğin bu satırda "/usr/bin/rm" -f "delete_me.txt"
(tırnaklar dahil) şeklinde komutu çalıştırırız.
Örnek 2: .bat
dosyası
call :T_CMD_Where "powershell" && set "_POWERSHELL=!RESULT!" || ( echo "[X] Powershell not found." & exit /b 1 )
"%_POWERSHELL%" -ExecutionPolicy Bypass -Command "Write-Host 'Hello World, Hello TeTeOS.Net!'"
Çıktıları kapatma kuralları
TeTeOS.Net ekibi, dış komutları betiklerde kullanma durumlarında temiz mesaj vermek için dış komutlarını mümkün olduğunda kapatmalı ve mesajı manuel vermelidir. stdout
ve stderr
mesajları kapatmak için her satırda aynı düzeni kullanmalıdır. Örneğim .cmd
dosyalarında >nul 2>nul
ile >nul 2>&1
aynı anlama gelir. Ancak düzen oluşturmak için her kapatmada >nul 2>nul
kullanılmalıdır. Bu, toplu düzenlemelerde de işe yarayacak bir kuraldır.
Dil veya betikSeçilen kullanım şekliYazılış şekli
.cmd dosyası[boşluk]>nul[boşluk]2>nul
>nul 2>nul
(Başta1 boşluk var)
.sh dosyası[boşluk]&>/dev/null
&>/dev/null
(Başta1 boşluk var)
Yorum satırları kuralları
Yorum satırları, İngilizce olmak zorundadır. Aşırı basit İngilizce kullanımı da kabul edilebilir. Bu kural, birden çok farklı ülkede kullanılacak araçlarda geçerlidir. Sadece belirli bir ülke veya bölgede kullanılması planlanan araçlar bu kuralı yok sayabilir. Yorum satırları, Microsoft Visual Studio (veya çatalları VSCodium gibi) IDE ile genişletilebilir ve daraltılabilir şekilde yazılmalıdır.
Yorum simgeleri
Yorum satırlarının başlarında köşeli parantez ve içeriğinde bir karakter bulunur. Bu, kod parçasının türünü gösterir. Ayrıca kullanıcılara gösterilecek mesajlarda da kullanılabilir.
SimgeAnlamı
[.]
Noktaİşlem anlamına gelir.
[?]
Soru işaretiKullanıcıya soru sorulan bölge anlamına gelir.
[#]
Kare işaretiTuş(lar)a basılması gereken kısım anlamına gelir.
[$]
Dolar işaretiKomut ve Path ile ilgili işlemlerde kullanılır. Komut yürütülen kısımlarda bulunabilir.
[>]
Büyüktür işaretiAdım anlamına gelir. Birden fazla işlemi, bir başlık altında toplamak için idealdir.
[!]
Ünlem işaretiDikkat anlamına gelir. Bu yorum satırları okunmalıdır.
[T]
T harfiTeTeOS.Net (veya yazılımı, ürünü, hizmeti, ekibi) ile ilgili kısımlardır.
[F]
F harfiFonksiyon belirlenen alan anlamına gelir.
[V]
V harfiDeğişen belirlenen alan anlamına gelir.
[X]
X harfiÇıkış anlamına gelir. Hata durumlarında da kullanılır.
[~]
TildeGeçici veya atlama anlamına gelir. T.Frame() CMD sürümünde fonksiyonların çağrılmadan çalıştırılmaması için
goto
kullanılır. Bu kısımlarda yorum işareti olarak da kullanılır.
Aşağıdaki kısımda kod içi kullanım örneği verilmiştir.
Örnek 1: .sh
dosyası
# [>] Checking operating system compatibility.
# [X] If not Debian, stop proccess.
if ! [[ $T_Debian= "true" || $T_PiluX ]]; then
echo "[X] This script is designed for Debian and PiluX."
echo -e "[#] Press any key to exit." && read -n 1 -s -r && exit 0
fi
# [$] Check required commands
T_CMD_Where "apt" || (echo "[X] Required command 'basename' not found." && exit 1")
Örnek 2: .cmd
dosyası