Spasi harus selalu digunakan, karena tab saja tidak cukup fleksibel untuk banyak gaya, dan pencampuran tab dan spasi (hampir) selalu menghasilkan kekacauan mutlak.
Untuk contoh satu gaya yang umumnya membutuhkan ruang, pertimbangkan sesuatu seperti:
call_some_function(parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6,
parameter7);
Kecuali Anda bersedia untuk menamai ulang semua fungsi Anda menjadi kelipatan tepat dari ukuran tab (minus satu untuk tanda kurung) tab saja tidak akan melakukan ini.
Mengenai pencampuran tab dan spasi, Anda hampir segera mengalami masalah serius: tab tidak secara konsisten diperluas dengan cara yang sama. Beberapa perangkat lunak memperlakukan tab sebagai setara dengan jumlah ruang tertentu. Perangkat lunak lain akan memperluas modulo tab ke sejumlah spasi tertentu - mis. Item setelah tab akan selalu dimulai dari nomor kolom yang merupakan kelipatan dari (katakanlah) 8.
Bahkan jika Anda dapat memastikan agar spasi tidak tercampur dengan tab Anda, Anda masih memiliki masalah: tab juga bermain buruk dengan font dengan lebar variabel. Masalah ini muncul ketika (misalnya) Anda ingin menyelaraskan komentar tertinggal:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
Saat mereka berdiri sekarang, mereka semua berbaris dengan sempurna. Dilihat dengan font lebar variabel, bagaimanapun, semuanya menjadi jelek. Dengan spasi, komentar mungkin (sering akan) sedikit tidak sejajar. Namun, dengan tab, misalignment sering menjadi sangat radikal:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
Tiba-tiba perbedaan kecil dalam lebar antara 'i' dan 'm' atau 'x' dalam font-variabel lebar kami telah diperbesar ke penghentian seluruh tab.
Intinya adalah bahwa hampir semua perubahan dalam cara Anda melihat kode dengan tab, tidak peduli seberapa sepele, dapat dan biasanya akan menghasilkan kekacauan yang tidak dapat dibaca.
Untuk menjawab pertanyaan Anda yang lain: orang lain sudah menunjukkannya, tapi saya tidak bisa membayangkan siapa pun dalam editor pemrograman (atau banyak hal lainnya) benar-benar menggunakan spasi untuk memasukkan spasi, jadi pertanyaan Anda tentang: "mengetik spacespacespacespace" adalah tidak relevan karena tidak ada yang melakukan itu. Demikian juga dengan spasi-belakang: sulit membayangkan seorang editor yang perlu menekan BkSpcempat kali untuk pergi ke penghentian tab sebelumnya, jadi (sekali lagi) pertanyaannya tidak relevan.
Intinya: tab baik-baik saja jika Anda (dan hanya Anda) akan pernah melihat kode Anda, dan Anda hanya pernah melakukannya dengan satu editor yang Anda tidak pernah mengkonfigurasi ulang (sama sekali!) Kondisi tersebut, bagaimanapun, sangat dekat dengan mustahil untuk menegakkan bahwa hanya ada satu jawaban yang masuk akal: tidak pernah menggunakan tab sama sekali.
tab
. Jika Anda tidak dapat mengonfigurasi itu di editor favorit Anda, Anda memerlukan editor yang lebih baik.