Terkadang klausa tanpa operasi dapat membuat kode Anda lebih mudah dibaca.
Itu bisa jadi masalah opini, tapi inilah contohnya. Misalkan Anda telah membuat fungsi yang bekerja dengan mengambil dua jalur unix. Ini menghitung 'jalur perubahan' yang diperlukan untuk cd dari satu jalur ke jalur lainnya. Anda menempatkan batasan pada fungsi Anda bahwa jalur harus dimulai dengan '/' ATAU keduanya tidak boleh.
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
Beberapa pengembang ingin menghapus no-op tetapi itu berarti meniadakan kondisional:
function chgpath() {
# toC, fromC are the first characters of the argument paths.
if [[ "$toC" != / || "$fromC" == / ]] && [[ "$toC" == / || "$fromC" != / ]]
then
return 1 # Skip function.
fi
Sekarang-menurut pendapat saya- tidak begitu jelas dari klausa if kondisi di mana Anda ingin melewatkan melakukan fungsi. Untuk menghilangkan no-op dan melakukannya dengan jelas, Anda perlu memindahkan klausa if dari fungsi:
if [[ "$toC" == / && "$fromC" == / ]] || [[ "$toC" != / && "$fromC" != / ]]
then
cdPath=$(chgPath pathA pathB) # (we moved the conditional outside)
Kelihatannya lebih baik, tetapi seringkali kita tidak dapat melakukan ini; kami ingin pemeriksaan dilakukan di dalam fungsi.
Jadi seberapa sering ini terjadi? Tidak terlalu sering. Mungkin sekali atau dua kali setahun. Itu cukup sering terjadi, sehingga Anda harus menyadarinya. Saya tidak segan-segan menggunakannya ketika menurut saya itu meningkatkan keterbacaan kode saya (terlepas dari bahasanya).