Jika Anda mengaktifkan "View Right Margin" di IDE pilihan Anda, kemungkinan defaultnya adalah 80 karakter. Saya cenderung mengubahnya menjadi 120 tanpa alasan selain itu adalah standar di perusahaan saya dengan beberapa tahun yang lalu, dan tidak ada perusahaan lain yang mengatakan kepada saya untuk melakukannya secara berbeda.
Pertanyaan saya adalah, adakah studi yang benar-benar menunjukkan 80 karakter sebagai lebar maksimum optimal untuk keterbacaan kode, atau apakah nilai ini hanya "itulah yang selalu terjadi" dan tidak ada yang benar-benar tahu mengapa demikian? Dan, haruskah lebar satu baris kode menjadi bagian dari standar pengkodean Anda?
code-readability
Fostah
sumber
sumber
Jawaban:
Sebenarnya, hal 80-kolom lama mendahului DOS. Itu berasal dari pukulan kartu, yang merupakan perangkat 80-kolom.
Dan untuk menjawab pertanyaan OP, satu "studi" telah berlangsung selama sekitar 600 tahun sekarang - buku cetak. Ini telah berevolusi selama berabad-abad, dengan mempertimbangkan keterbacaan terutama, ke posisi kita sekarang di mana panjang garis rata-rata untuk teks adalah sekitar 60 karakter. Jadi untuk keterbacaan, pilih margin yang lebih sempit.
sumber
Kasihanilah programmer yang harus memelihara perangkat lunak Anda nanti dan tetap pada batas 80 karakter.
Alasan memilih 80:
Dapat dibaca dengan font yang lebih besar pada laptop
Meninggalkan ruang untuk meletakkan dua versi berdampingan untuk perbandingan
Meninggalkan ruang untuk tampilan navigasi di IDE
Mencetak tanpa melanggar garis sembarang (juga berlaku untuk email, halaman web, ...)
Batasi kompleksitas dalam satu baris
Membatasi indentasi yang pada gilirannya membatasi kompleksitas metode / fungsi
Ya, itu harus menjadi bagian dari standar pengkodean.
sumber
Limits the complexity in one line
Saya tidak yakin mengapa menyebarkan kompleksitas di banyak baris lebih baik. Itu hanya mendorong lebih banyak ke tumpukan mental Anda.Saya tidak memiliki studi, tetapi saya akan menceritakan pengalaman saya.
Saya menemukan bahwa pengguliran horizontal membosankan ketika berhadapan dengan teks. Saya melihat lingkungan di mana kode akan digunakan, dan menetapkan standar lebar berdasarkan konteks itu.
Misalnya, ketika saya bekerja di Emacs di XWindows, itu bekerja dengan baik untuk memiliki 2 jendela Emacs berdampingan setiap saat. Itu membatasi mereka hingga 80 karakter, jadi itu panjang garis maks saya.
Pada satu titik saya bekerja di Visual Studio pada layar 1920x1200. Saya akan memaksimalkannya, dengan semua jendela alat merapat di satu sisi. Ada cukup ruang tersisa untuk dua jendela editor berdampingan di sekitar 100 karakter.
Saya juga menemukan bahwa garis terpanjang berasal dari pemanggilan metode dengan daftar parameter panjang . Ini kadang-kadang bau kode : mungkin metode ini harus di refactored .
Jika Anda & rekan program Anda memiliki layar resolusi tinggi dan penglihatan yang tajam, tentu saja gunakan font kecil dan garis panjang. Sebaliknya, Anda mungkin perlu garis pendek.
sumber
Saya biasanya menggunakan 120-150 kecuali jika perusahaan menjelaskan sebaliknya. Namun itu tergantung juga pada jenis kode:
Sampai beberapa tahun yang lalu saya terbatas pada 100 tetapi sekarang layar lebar biasanya digunakan dan monitor resolusi tinggi 120 bahkan dapat dilihat di laptop (yang saya jarang gunakan).
Membandingkan layar dengan buku tidak terlalu bagus karena buku memiliki ruang lebih vertikal dan layar memiliki ruang lebih horizontal. Saya selalu mencoba untuk menjaga fungsi maks. satu layar terlihat panjang.
sumber
Mungkin 80 karakter juga merupakan poin yang baik untuk menghindari rantai pengambil yang buruk ini:
jika Anda membatasi hingga 80 karakter, mungkin seseorang akan melokalisasi variabel-variabel ini dan melakukan pemeriksaan nol dll, tetapi mungkin sebagian besar programmer akan membiarkan mereka membungkusnya di baris berikutnya. saya tidak tahu
Selain itu, 80 karakter hebat seperti yang disebutkan dalam starblue. Ini harus masuk ke standar pengkodean.
sumber
Mengabaikan batasan perangkat keras, dan perbedaan dalam cara kita membaca kode versus bahasa alami, saya melihat tiga alasan utama untuk membatasi garis menjadi sekitar 80 karakter.
sumber
Saya ingat dengan jelas membaca di suatu tempat (saya pikir itu dalam Agile Documentation ) bahwa untuk keterbacaan optimal, lebar dokumen harus sekitar dua huruf, atau 60-70 karakter. Saya pikir lebar garis terminal lama sebagian berasal dari aturan tipografi yang lama.
sumber
Opsi margin yang tepat dimaksudkan untuk menunjukkan kepada Anda lebar halaman jika Anda akan mencetak kode, dan telah diposting sebelumnya mengatakan itu diatur ke 80 karena itulah yang panjang garis secara historis sebelum GUI sepanjang jalan kembali untuk memencet kartu-kartu.
Saya telah melihat rekomendasi di beberapa blog baru-baru ini (tidak ingat blog apa) untuk meningkatkan ukuran font IDE Anda untuk meningkatkan kualitas kode, logika di baliknya adalah bahwa jika kode kurang cocok di layar Anda akan menulis baris yang lebih pendek dan fungsi pemanggil.
Menurut pendapat saya, baris pendek membuat membaca kode dan men-debug lebih mudah, jadi saya mencoba untuk menjaga garis pendek, jika Anda harus menetapkan batas untuk membuat diri Anda menulis kode yang lebih baik maka pilih yang bekerja untuk Anda - juga jika Anda lebih produktif dengan garis yang lebih panjang merasa bebas untuk meningkatkan ukuran halaman dan kode hanya pada layar lebar.
sumber
Seperti yang beberapa orang tunjukkan dalam jawaban lain alasan batas 80 karakter sebagian bersifat historis (kartu punch, layar kecil, printer, dll) dan sebagian bersifat biologis (untuk melacak garis apa yang ada di dalamnya, umumnya baik untuk dapat melihat keseluruhannya). baris tanpa perlu memutar kepala).
Karena itu, harap diingat bahwa kita masih manusia dan kita membangun alat untuk mengatasi keterbatasan kita sendiri. Saya mengusulkan Anda mengabaikan seluruh perdebatan tentang batasan karakter dan hanya menulis hal-hal yang masuk akal terlepas dari panjangnya, dan menggunakan IDE atau editor teks yang dapat membantu Anda melacak garis dengan benar. Menggunakan argumen yang sama untuk lekukan di tab vs ruang debat, serta seberapa lebar lekukan yang harus saya sarankan Anda menggunakan penanda lekukan (paling umum tab) dan hanya memiliki orang mengkonfigurasi IDE atau editor teks mereka sendiri untuk menampilkannya karena mereka merasa paling nyaman untuk mereka.
Menempel dengan jumlah karakter tetap per baris akan selalu membuat segalanya lebih buruk bagi semua orang kecuali audiens yang ditargetkan. Yang mengatakan, jika Anda tidak akan pernah membagikan kode, selamanya; maka sebenarnya tidak ada alasan untuk memulai diskusi ini. Jika Anda ingin membagikan kode, Anda mungkin harus membiarkan orang memutuskan sendiri apa yang mereka inginkan alih-alih memaksakan cita-cita Anda (atau orang lain) pada mereka.
sumber
Sepengetahuan saya, 80 karakter digunakan sebagai standar pengkodean untuk mempertahankan kompatibilitas dengan editor baris perintah (lebar terminal default biasanya 80 karakter). Dengan IDE modern dan resolusi layar besar 80 karakter mungkin tidak "optimal", tetapi bagi banyak pengembang menjaga keterbacaan di terminal sangat penting. Karena alasan itu, tidak mungkin lebar karakter 80 akan diganti sebagai standar de facto untuk lebar kode dalam waktu dekat. Dan untuk menjawab pertanyaan terakhir Anda, ya, lebar kode serta karakteristik lainnya yang akan mempengaruhi keterbacaan kode Anda harus dialamatkan dalam standar pengkodean Anda.
sumber