Saya sedang membaca artikel wikipedia tentang gaya pemrograman dan memperhatikan sesuatu dalam argumen yang menentang kode yang selaras secara vertikal:
Ketergantungan pada font satu spasi; pemformatan tabular mengasumsikan bahwa editor menggunakan font dengan lebar tetap. Kebanyakan editor kode modern mendukung font proporsional, dan pemrogram mungkin lebih suka menggunakan font proporsional untuk keterbacaan .
Sejujurnya, saya tidak berpikir saya pernah bertemu seorang programmer yang lebih suka font proporsional. Saya juga tidak bisa memikirkan alasan bagus untuk menggunakannya. Mengapa seseorang lebih menyukai font proporsional?
ide
coding-style
fonts
Jason Baker
sumber
sumber
[citation needed]
:)Jawaban:
Poin umum terhadap font proporsional, berkomentar.
Poin yang mendukung font proporsional
m
dalam ruang yang sama darin
ataui
membuatnya membuatnya sangat sulit untuk merancang font monospace yang baik dan mudah dibaca .rnW
danIll
dalam tangkapan layar Proggy Clear ini untuk contoh penspasian font yang dilakukan salah.Secara pribadi, saya telah menggunakan font 'Ubuntu' dan WenQuanYi Zen Hei Mono dengan senang hati dan merasa saya tidak dapat memilih yang satu dengan yang lain. :)
Ubuntu 10 dan WenQuanYi Zen Hei Mono 9, dibandingkan. Tidak ada pemenang yang jelas di sini, jika Anda bertanya kepada saya.
Yang mengatakan, font seperti makanan. Beberapa seperti mereka yang bulat, beberapa seperti mereka panas dan pedas - tidak ada font yang tepat, atau kita semua akan menggunakannya sekarang. Yay untuk pilihan!
sumber
Ada alasan yang membuatnya hampir mustahil untuk menggunakan font selain monospace untuk pengkodean, tetapi tidak disebutkan dalam jawaban lain: pilihan persegi panjang .
Fitur ini, seringkali tidak terlalu berguna dan tidak terlalu dikenal ketika bekerja dengan teks biasa, sangat penting bagi pengembang. Anda dapat membayangkan banyak skenario: menghapus
//
komentar pada beberapa baris, menambahkan tanda kurung atau karakter lain, dll. Ini bahkan lebih berharga dengan dukungan lanjutan dari pilihan persegi panjang, seperti dalam Visual Studio 2010, di mana Anda tidak hanya dapat memilih dan menghapus teks, tapi pilih dan ganti.Mari kita ambil contoh:
Dalam kode lama ini, saya ingin mengganti peringkat dalam kode dengan metode yang akan memuat peringkat saya dari situs web Stack Exchange sendiri, karena selalu dapat memiliki data terbaru. Saya mulai memperbaiki
MyReputation
properti, dan sekarang saya ingin menghapus inisialisasi, dalam ruang lingkup. Bayangkan saya belum punya empat, tapi semua 84 situs web SE.Inilah yang terjadi ketika menggunakan Consolas , font monospace. Saya menekan Backspace, dan hanya itu, saya dapat menghabiskan waktu yang tersisa untuk melakukan sesuatu yang benar-benar bermanfaat.
Dan di sini hal yang sama dengan Segoe UI . Aduh!
sumber
CTRL-D
di SublimeText dan VSCode,ALT-J
di editor IntelliJ / JetBrains. Selanjutnya,SHIFT-CTRL-RIGHT ARROW
untuk memperluas pilihan ke token berikutnya di sebelah kanan dan selesai. Keuntungan utama adalah tidak ada yang perlu menyelaraskan hal-hal untuk diedit. Kerugian, jika Anda memiliki sesuatu yang disejajarkan, itu tidak akan lagi.Saya dulu menggunakan font proporsional, sebagian besar karena saya menemukan tanda baca sebenarnya lebih mudah untuk dibedakan, tetapi seiring waktu saya menyerah karena tidak ada orang lain yang melakukannya dan semua orang tanpa sadar menganggap font spasi mono (seperti yang disebutkan dalam artikel wikipedia, mencoba melakukan tabular format, ascii art dalam komentar dan sebagainya).
Plus, masalah dalam Visual Studio , yang tidak ingin diperbaiki oleh Microsoft, pada dasarnya membuatnya tidak mungkin untuk menggunakan font proporsional yang dirancang dengan baik.
sumber
Secara pribadi saya tidak peduli. Selama Anda menjaga tab saya tetap sejajar dan font dapat terbaca, saya tidak peduli apakah saya menggunakan monospace, proporsional, atau spasi lain di luar tembok. Hanya saja, jangan mulai mengganti tab saya dengan spasi, dan Anda tidak akan bertengkar dengan saya.
sumber
Saya menggunakan font proporsional (Arial adalah yang terbaik yang saya temukan sejauh ini, Verdana adalah runner-up dekat) dan jujur saya masih bingung bahwa orang menggunakan font dengan lebar tetap; mengapa Anda ingin mengorbankan keterbacaan seperti itu? Saya bisa mengerti jika pemformatan tabular diinginkan, tetapi tidak, karena itu menciptakan mimpi buruk pemeliharaan terlepas dari font.
sumber
Saya ingat dalam buku Bjarne Stroustrup, The C ++ Programming Language , font dengan spasi propotianitely digunakan untuk kode. (Saya tidak dapat menemukan halaman sampel di web)
Saya tidak ingat alasan pastinya, tetapi saya pikir dia menyebutkan ini dan satu sama lain berubah (saya pikir bahasa C ++ itu sendiri) sebagai pengantar baru dalam buku itu.
Secara pribadi, saya lebih suka ruang tetap. Consolas adalah favorit saya.
sumber
Untuk bahasa yang memiliki garis pendek dan banyak ruang terbuka, saya lebih suka font monospace. Saya menemukan bahwa font lebar variabel dapat meningkatkan keterbacaan di mana Anda memiliki garis panjang dan sintaks yang padat.
Masalah dengan font yang paling proporsional adalah font tersebut tidak dirancang untuk pemrograman. Halaman ini menunjukkan beberapa font yang tadinya.
sumber
Lingkungan Smalltalk seperti Pharo menggunakan font proporsional dan karena gaya bahasa itu terlihat sangat bagus di sana. Tetapi dalam bahasa C-style seperti Go atau yang lain seperti Erlang atau Python saya lebih suka font monospace.
sumber
Saya menghabiskan waktu mencari font Eclipse yang bagus dan mudah dibaca, dan di bawah XP saya menggunakan Verdana untuk beberapa waktu. Consolas menyatakan itu karena sangat hebat untuk pemrograman.
Ini adalah temuan saya:
Oleh karena itu saya menemukan bahwa itu tidak sepadan dengan masalah bagi saya.
Catatan tentang penyelarasan dan tata letak lainnya: Saya telah mengatur Eclipse untuk memformat setiap file secara otomatis pada setiap penyimpanan, sehingga semua tata letak yang mewah secara otomatis diatur ulang. Eclipse menggunakan tab alih-alih beberapa spasi dan ini dapat diposisikan dengan benar bahkan dengan font proporsional. Oleh karena itu tata letak formatter dapat lebih dari satu sama lain, tetapi kami menggunakan konfigurasi formatter standar yang tidak memilikinya.
Saya percaya bahwa penerapan pemformatan otomatis untuk semua orang di setiap penyimpanan meminimalkan positif palsu dalam sistem kontrol sumber, ketika melakukan analisis forensik.
sumber
Tidak pernah, karena font Monospaced memungkinkan saya untuk membandingkan atribut yang berbeda.
Membandingkan:
name1 = ["William", "Shakespear", 1564, "Peotry"]
name2 = ["John", "Locke", 1632, "Philosophy"]
name3 = ["Jonathan", "Littell", 1967, "Prosa"]
Untuk:
Font proporsional tidak dapat menempatkan atribut yang sama persis satu di atas yang lain.
sumber
Walaupun saya merasa bahwa font proporsional lebih cantik, pada beberapa dari mereka, terutama font sans-serif, tidak mungkin untuk melihat perbedaan antara "aku" dan "l". Tunggu, apa yang saya beri nama variabel itu lagi?
sumber
'' vs "