Compiler C# hanya menuntut sintaks yang benar dan sama sekali tidak memedulikan tata letak yang rapi. Manusia yang membaca kode justru sangat bergantung pada tata letak itu. Bagian ini memisahkan aturan yang dipegang compiler dari kebiasaan penulisan yang disepakati komunitas, agar kita tahu mana yang boleh dilonggarkan dan mana yang sebaiknya dijaga.

Whitespace Tidak Dipedulikan Compiler #

Spasi, tab, dan baris baru hanya menjadi pemisah antar-token. Kode berikut tetap valid meski tata letaknya sulit dibaca:

csharp
int   nilaiUjian=80;Console.WriteLine( nilaiUjian );

Output yang Dihasilkan:

text
80

Bentuk yang sama lebih nyaman dibaca ketika ditulis dengan kebiasaan yang lazim:

csharp
int nilaiUjian = 80;
Console.WriteLine(nilaiUjian);

Output yang Dihasilkan:

text
80

Kedua versi menghasilkan output identik karena compiler membaca keduanya sebagai statement yang sama. Perbedaannya hanya ada pada kenyamanan pembaca.

C# Bersifat Case-Sensitive #

Compiler membedakan huruf besar dan huruf kecil secara ketat. Dua identifier yang hanya berbeda kapitalisasi dianggap dua variabel yang berbeda:

csharp
int jumlah = 2;
int Jumlah = 5;

Console.WriteLine(jumlah + Jumlah);

Output yang Dihasilkan:

text
7

Mari kita telaah baris demi baris:

  1. Baris 1 (int jumlah = 2;): Variabel jumlah dengan huruf kecil semua dibuat dan diisi nilai 2.
  2. Baris 2 (int Jumlah = 5;): Compiler menerima deklarasi ini tanpa error, karena Jumlah diawali huruf besar dan dianggap identifier yang benar-benar berbeda.
  3. Baris 4 (Console.WriteLine(jumlah + Jumlah);): Dua entitas yang terlihat serupa dijumlahkan sebagai dua variabel terpisah, menghasilkan 7.

Perilaku ini sering menimbulkan error CS0103: The name 'jumlah' does not exist ketika kita salah menulis kapitalisasi sebuah nama, padahal variabel yang dimaksud ada di dalam program.

Kebiasaan Penulisan yang Disarankan #

Komunitas C# menyepakati kebiasaan berikut agar kode antaranggota tim terlihat seragam:

  • Satu statement per baris, diakhiri titik koma.
  • Indentasi empat spasi untuk setiap blok di dalam kurung kurawal.
  • Spasi sebelum dan sesudah operator, misalnya panjang * lebar, bukan panjang*lebar.
  • camelCase untuk variabel lokal dan PascalCase untuk class serta method.
  • Nama yang deskriptif: totalHarga lebih jelas daripada x atau t.