Apakah batas 80 karakter masih relevan pada saat monitor layar lebar? [Tutup]

56

pada monitor layar lebar orang dapat dengan mudah melihat lebih dari 80 karakter sekaligus, tanpa scrollbar. bahkan linus torvalds melihat batas 80 karakter sebagai ketinggalan zaman .

jadi, apakah batas 80 karakter masih relevan di saat monitor layar lebar?

lesmana
sumber
1
Ada alasan yang sangat bagus untuk membuat garis pendek misalnya Eclipse. Ini memungkinkan Anda untuk mencetak program Anda pada printer normal dalam font yang dapat dibaca tanpa pembungkus garis.
Dalam konteks apa? Jika Anda bertanya dalam konteks pemrograman tertentu, saya akan memilih untuk membuka kembali.
Nicole
Bungkus kata Visual Studio rusak, sehingga sebagian besar pengguna memilikinya. Sebagai gantinya, mereka menempatkan jeda baris dengan tangan. Ini terlihat mengerikan bagi siapa pun dengan lebar layar berbeda. visualstudio.uservoice.com/forums/121579-visual-studio/…
Kolonel Panic

Jawaban:

28

Ada beberapa alasan untuk tetap mematuhi batas 80 karakter (atau, batas 74 karakter bahkan lebih baik; ini memungkinkan kode untuk tetap kurang dari 80 kolom bahkan ketika spidol dan kutipan email ditambahkan, jika Anda melakukan review kode pada Daftar surat).

Bahkan di era monitor layar lebar, saya suka memiliki beberapa jendela terbuka berdampingan, menunjukkan bagian kode yang berbeda. Sebagai contoh, saya biasanya membuka browser web dan email pada satu layar, dan dua file dan terminal terbuka berdampingan pada monitor kedua. Jika Anda memiliki garis yang memuat lebih dari 80 kolom, Anda harus berurusan dengan editor yang membungkusnya (yang jelek dan membuat kode lebih sulit untuk dinavigasi), atau memperlebar jendela Anda sehingga Anda tidak dapat memuat sebanyak mungkin di layar pada sekali.

Bahkan jika Anda biasanya tidak mengedit dengan cara ini, jika Anda pernah menggunakan alat diff berdampingan, Anda akan menghargai file dengan panjang garis wajar yang akan membuat diff Anda lebih mudah untuk dilihat.

Ada juga masalah kepadatan kode. Saya suka memiliki banyak konteks ketika membaca kode. Jauh lebih cepat untuk melirik ke atas dan ke bawah jendela daripada menggulir. Jika Anda memiliki garis yang sangat panjang, Anda juga cenderung memiliki garis yang panjangnya bervariasi, yang menyebabkan banyak real estat layar terbuang dan mampu memuat lebih sedikit kode di layar pada waktu tertentu secara keseluruhan.

Dan akhirnya, jika Anda memiliki garis yang sangat panjang, maka itu umumnya berarti bahwa Anda memiliki garis yang sangat rumit, indendasi yang dalam, atau bahwa Anda memiliki pengidentifikasi yang sangat panjang. Semua ini bisa menjadi masalah. Baris yang rumit mungkin melakukan terlalu banyak; Jika Anda dapat memecahnya menjadi beberapa baris sederhana, Anda mungkin harus melakukannya. Lekukan yang dalam berarti bahwa Anda mungkin bersarang terlalu banyak loop dan kondisional, yang dapat membuat aliran kode Anda membingungkan; mempertimbangkan refactoring ke dalam beberapa fungsi. Dan jika pengenal Anda terlalu panjang, itu bisa membuat membaca kode Anda sangat sulit. Orang umumnya mengenali kata-kata sebagai unit individu; mereka tidak membaca setiap karakter satu per satu, tetapi melihat keseluruhan bentuk kata. Pengidentifikasi panjang lebih sulit untuk dibedakan dengan cara ini, dan biasanya jika mereka selama itu, mereka berisi informasi yang berlebihan atau berulang.

Sekarang, meskipun masih merupakan praktik yang baik untuk menjaga kode di bawah 80 kolom, ini bukan salah satu aturan yang perlu diikuti secara religius, memutarbalikkan diri Anda untuk membuat beberapa baris sesuai ketika itu tidak. Saya menyarankan Anda mencoba menyimpan semua kode Anda di bawah 80 kolom, tetapi ketika itu tidak sesuai, jangan terlalu khawatir tentang hal itu.

Brian Campbell
sumber
3
Sepakat. Namun, pengidentifikasi panjang kadang-kadang didorong (dengan pedoman pengkodean seperti "gunakan nama yang bermakna" atau "hindari singkatan samar") atau diperlukan (seperti std::vector<...>::const_iterator), meskipun dalam kasus terakhir, hal-hal biasanya dapat dikurangi dengan typedefs.
musiphil
Alasan bagus Saya tidak yakin panjang garis persisnya penting, asalkan tim Anda (atau milis?) Menyetujuinya. Secara pribadi, saya pergi dengan saran Paman Bob untuk tidak pernah melebihi 120 karakter.
Allan
1
@musiphil Ya, itu sebabnya saya menyertakan paragraf terakhir. Saya telah mengalami baris-baris dalam C ++ di mana saya tidak bisa memasukkan nama kelas, nama metode dan tipe kembali ke satu baris 80 kolom ketika mendeklarasikan metode. Daripada melakukan beberapa pemecahan garis yang benar-benar aneh, lebih baik melanggar aturan 80 kolom (atau 100 kolom) untuk satu baris itu.
Brian Campbell
46

Jika saya menjaga garis saya menjadi kurang dari 100 karakter, saya dapat memiliki dua jendela editor berdampingan pada monitor layar lebar. Sangat berguna untuk membuat file header kelas dan implementasi keduanya terlihat pada saat yang sama, atau memiliki kode di satu sisi yang memanggil kode di sisi lain. Dan, jika saya menjaga garis pendek, saya tidak perlu scrollbar horizontal pada jendela editor saya, yang memberi saya lebih banyak ruang vertikal.

80 karakter mungkin sudah ketinggalan zaman, tetapi ada beberapa manfaat dalam menjaga hal-hal yang masuk akal.

Niall C.
sumber
1
+1, saya sering membuka banyak file sumber berdampingan di Vim atau editor lainnya. Dengan font yang cukup kecil dan margin kanan yang cukup sempit, saya dapat dengan cepat mendapatkan gambaran yang baik tentang proyek dan bahkan membuka banyak dokumentasi.
greyfade
4
80 karakter masih relevan karena banyak orang default untuk memiliki terminal dan editor mereka yang luas; dengan demikian, jika Anda membatasi diri hingga 80, Anda akan bersikap ramah terhadap orang-orang itu, bukan mengharuskan mereka untuk mengatur ulang semua jendela mereka atau berurusan dengan pembungkus garis atau pengguliran horizontal.
Brian Campbell
1
80 karakter masih masuk akal; lebih lama dari itu mendorong kode over-nested (bukannya refactoring!) dan memiliki banyak jendela berdampingan sangat berguna. Menambahkan monitor lain hanya menambah jumlah jendela yang bisa Anda lihat sekaligus!
Donal Fellows
1
80 ramah untuk VMS mungkin. Maafkan usia saya yang baru, tetapi kita harus memperluas batas jika mungkin dan menyimpannya di tempat yang diperlukan ..
Ross
29

Saya tidak berpikir monitor ada hubungannya dengan itu - setidaknya tidak lagi.

Jika Anda tidak dapat membuat kode baris dalam 80 karakter, mungkin itu pertanda kode yang buruk. Ekspresi yang terlalu rumit. Lekukan terlalu dalam. dll. Anda harus berhenti dan memikirkan kembali apa yang Anda lakukan.

Tetapi jika Anda yakin bahwa kode tersebut membutuhkan lebih dari 80 baris, maka silakan lakukan. Saya pikir lebih baik memiliki kode yang melampaui 80 karakter daripada menambahkan perubahan idiomatik hanya untuk membuatnya lebih kecil.

Saya pribadi benci hal-hal semacam ini:

ret = my_function(parameter1, \
                  parameter2, \
                  parameter3, parameter4);

Alih-alih hanya:

ret = my_function(parameter1, parameter2, parameter3, parameter4);
Cesar Canassa
sumber
5
Tentunya jika baris 3 pada contoh pertama tidak terlalu panjang, baris 2 dapat digabungkan menjadi baris 1, yang membuatnya terlihat lebih mudah dibaca. (Bahasa apa yang mengharuskan baris baru lolos dari tanda kurung?)
1
Ahh, itu hanya beberapa pseudo-code yang saya tulis. Tapi saya pikir C membutuhkannya.
Cesar Canassa
4
Hanya dalam definisi makro multi-line, yang (atau seharusnya) jarang. Ini secara signifikan mempengaruhi pilihan panjang garis maks (mempertahankan garis miring terbalik seperti itu tidak menyenangkan), jadi saya ingin tahu mengapa Anda menunjukkannya. Tampaknya menjadi manusia jerami ?
2
Jika saya kesulitan memecahkan garis dalam pemanggilan fungsi, saya akan meletakkan setiap parameter pada barisnya sendiri, di-indentasi oleh satu level.
starblue
20

Untuk coding?

Tentu saja ya Manusia normal tidak bisa membaca terlalu lebar. Dengan beberapa kolom Anda menggerakkan mata Anda lebih sedikit, Anda fokus lebih baik dan menunda kelelahan. Ini keuntungan minimum tetapi yang penting.

Maniero
sumber
3
Sementara saya merasa kode sangat berbeda dari prosa, itu melelahkan untuk membaca kode yang secara berkala (yaitu prosa umumnya akan jauh lebih konsisten) merentangkan garis ke 120 kolom.
6

Ya, ada alasan untuk membatasi panjang baris kode:

  1. Meskipun layar kami menjadi lebar, terkadang Anda perlu mencetak kode Anda. Kalau hanya karena alasan ini .
  2. Diff-viewers sering menampilkan garis dengan split vertikal - ini menjadi lebih sulit jika garis sepanjang layar lebar memungkinkan.

Karena itu, 80 sedikit terlalu sedikit. Namun, tetap saja, beberapa batasan mungkin merupakan ide yang bagus sebagai prinsip desain.

Saya akan mengatakan bahwa garis ekstra panjang tidak harus dianulir, karena kadang-kadang mereka yang diperlukan. Tetapi jika sebagian besar fungsi hanya dapat dilihat pada layar 30 "maka kode memiliki beberapa masalah.

Assaf Lavie
sumber
5

Ini arbitrer, tetapi ada batas non-arbitrer untuk apa yang mudah dibaca. Saya menemukan bahwa kolom teks super lebar sangat sulit untuk dipindai dan dibaca, terlepas dari apakah itu kode atau prosa. Lebih lanjut, seperti yang banyak ditunjukkan oleh jawaban lain, bukan berarti kode ini akan menjadi satu-satunya yang muncul di layar Anda. Sangat bagus untuk memiliki dua atau lebih jendela kode pada saat yang bersamaan, dan memasangnya pada satu monitor layar lebar.

jerwood
sumber
3

Mungkin tidak relevan untuk memilih tepat batas 80 karakter; apa yang akan berubah jika batasnya 85, misalnya?

Memang benar bahwa monitor yang digunakan saat ini memiliki resolusi yang lebih tinggi, tetapi dalam editor teks / IDE, tidak semua ruang diambil dari tampilan teks; di editor saya menggunakan acara di sebelah kiri daftar file yang termasuk dalam proyek.

Resolusi yang digunakan dalam netbook, atau notebook tidak sama dengan yang digunakan pada monitor; mungkin masuk akal untuk menggunakan batas karakter yang tidak membuat "masalah" kepada siapa pun.

kiamlaluno
sumber
5
80 karakter adalah batas keras jumlah kolom pada kartu punch!
ChrisF
5
Tidak masalah apa standarnya, tetapi jika semua orang bekerja dengan standar yang sama maka itu membuat hidup lebih mudah.
Skilldrick
2

Itu sangat tergantung pada lingkungan pengembangan.

Sebagai contoh, dalam sebuah perusahaan besar dengan ribuan pengembang, mungkin ada ratusan orang yang, selama masa hidup produk, harus melihat beberapa bagian dari kode itu. Dengan begitu banyak orang, pasti ada beberapa yang, karena alasan apa pun (perangkat keras yang lebih lama, netbook, dll) beroperasi pada 800x600 atau lebih kecil. Ada beberapa nilai untuk mengakomodasi mereka.

Di perusahaan 25-orang saya, saya katakan mengacaukannya. Kita semua menggunakan monitor modern ganda dengan resolusi maksimum - 120-140 atau lebih adalah pedoman informal.

Fishtoaster
sumber
2

Memiliki batasan tentu masuk akal. Tapi batas 80 karakter terlalu membatasi. Saya lebih suka sesuatu seperti batas 96 karakter. Cukup lebar untuk sebagian besar kode yang harus saya tangani dan cukup sempit sehingga dua file dapat diletakkan berdampingan untuk dif'ing (pada layar lebar).

Saya percaya pembacaan kode mengalahkan semua masalah lainnya. Dan dengan 96 karakter per kode baris dapat dibuat lebih mudah dibaca daripada dengan 80.

Saya tidak membeli argumen bahwa kebanyakan orang mengatur terminal mereka untuk lebar 80 karakter, tidak ada printer yang harus membungkus garis lebih dari 80 karakter. Ini bukan batas keras seperti dulu di masa lalu (jauh). Anda dapat dengan mudah mengatur terminal dan lebar printer menjadi 100 karakter.

alexeiz
sumber
1

Tidak, itu tidak lagi relevan:

  • Sebagian besar font yang digunakan dalam aplikasi dan di web tidak memiliki lebar tetap. Dengan kata lain, 80 karakter! = 80 karakter.
  • Seperti yang Anda katakan, lebar layar telah berubah - 80 karakter bukan batas yang masuk akal.

80 karakter adalah pedoman untuk font dengan lebar tetap di lingkungan konsol.

Tentu saja, jika Anda masih menggunakan font dengan lebar tetap di lingkungan konsol ... maka pasti, 80 karakter masuk akal :)

Damovisa
sumber
3
Saya cukup yakin dia mengacu pada penggunaan batas 80 karakter dalam kode sumber, yang hampir secara universal ditampilkan dalam font monospace.
Fishtoaster
1
Hmm ... kalau begitu ... masih belum, tapi untuk alasan lain :)
Damovisa
1
80 karakter adalah batas keras jumlah kolom pada kartu punch!
ChrisF
0

Jika Anda menggunakan editor dalam GUI, maka 80 karakter per baris tidak relevan, karena sebagian besar editor yang layak - misalnya Notepad ++ - memiliki tombol untuk beralih bungkus garis. Dengan itu, seharusnya tidak menjadi masalah, bahkan ketika melihat kode di jendela tipis.

Lajos Meszaros
sumber