Jawabannya adalah tidak ada karakter indentasi tunggal yang tepat untuk setiap situasi. Memformat menggunakan karakter tidak fleksibel dan dapat menyebabkan konflik ketika gaya yang berbeda digunakan dalam tim.
Satu-satunya metode untuk memformat kode tanpa cacat dan fleksibel dengan gaya format yang berbeda adalah melakukannya secara virtual, yaitu tanpa karakter lekukan. Satu-satunya editor kode yang saya tahu mendukung ini adalah yang digunakan dalam contoh di bawah ini:
Untuk mendemonstrasikan pemformatan virtual , tangkapan layar di bawah ini dari editor XSLT * yang menggunakan metode indentasi ini (ada juga video pendek di sini ). Setiap karakter dalam XSLT telah disorot dengan warna kuning, untuk tujuan ilustrasi, untuk memungkinkan satu-satunya tab atau karakter spasi dalam konten yang terlihat jelas. Lekukan kode ditangani oleh sistem render editor menyesuaikan margin kiri (yang memiliki latar belakang putih).
Satu-satunya karakter spasi terkemuka mendahului baris Buku , karena ini adalah konten teks literal, bukan kode, karakter spasi ini harus dipertahankan.
Dengan pemformatan virtual, Anda memilih lebar lekukan yang sesuai dengan lingkungan dan gaya lekukan tanpa memengaruhi karakter apa pun di file sumber. Anda bahkan dapat mengatur lebar lekukan ke 0, jika Anda memerlukan tampilan kode yang rata seperti yang ditunjukkan di bawah ini:
Untuk membandingkan ini dengan pemformatan karakter spasi, XSLT yang sama dibuka di editor tanpa pemformatan virtual diubah oleh formatter editor otomatis untuk ini:
Blok kuning kosong yang lebih besar pada tangkapan layar di atas dengan jelas menunjukkan karakter spasi yang ditambahkan oleh formatter dari editor konvensional. Sayangnya, ini sekarang tidak dapat dibedakan dari konten nyata sehingga XSLT harus dimodifikasi untuk memperbaiki masalah ini.
Ringkasan
XSLT mungkin merupakan kasus ekstrem, tetapi prinsip ini berlaku untuk banyak bahasa pemrograman: Karakter harus digunakan untuk konten dan metode alternatif yang dicari ketika datang ke format.
** Pengungkapan: Editor XSLT dengan format virtual dikembangkan oleh perusahaan saya sendiri *