Bazen işlemsiz cümlecikler kodunuzu daha okunaklı hale getirebilir.
Bu bir fikir meselesi olabilir, ama işte bir örnek. Diyelim ki iki unix yolu alarak çalışan bir fonksiyon oluşturdunuz. Bir yoldan diğerine cd yapmak için gereken 'değişim yolunu' hesaplar. İşlevinize, yolların her ikisinin de "/" ile başlaması gerektiği VEYA her ikisinin de olmaması gerektiğine dair bir kısıtlama koyarsınız.
function chgpath() {
# toC, fromC are the first characters of the argument paths.
if [[ "$toC" == / && "$fromC" == / ]] || [[ "$toC" != / && "$fromC" != / ]]
then
true # continue with function
else
return 1 # Skip function.
fi
Bazı geliştiriciler işlemsizliği kaldırmak isteyecek, ancak bu, koşullu olanı reddetmek anlamına gelir:
function chgpath() {
# toC, fromC are the first characters of the argument paths.
if [[ "$toC" != / || "$fromC" == / ]] && [[ "$toC" == / || "$fromC" != / ]]
then
return 1 # Skip function.
fi
Şimdi -bence- if-cümlesinden işlevi yapmayı atlamak isteyeceğiniz koşullar o kadar açık değil. İşlemsizliği ortadan kaldırmak ve bunu açıkça yapmak için, if-cümlesini işlevin dışına taşımak istersiniz:
if [[ "$toC" == / && "$fromC" == / ]] || [[ "$toC" != / && "$fromC" != / ]]
then
cdPath=$(chgPath pathA pathB) # (we moved the conditional outside)
Bu daha iyi görünüyor, ancak çoğu zaman bunu yapamayız; kontrolün fonksiyon içinde yapılmasını istiyoruz.
Peki bu ne sıklıkla oluyor? Pek sık değil. Belki yılda bir veya iki kez. Yeterince sık oluyor ki bunun farkında olmalısın. Kodumun okunabilirliğini geliştirdiğini düşündüğümde (dilden bağımsız olarak) kullanmaktan çekinmiyorum.