Adakah yang mendefinisikan standar untuk membaca kode dengan lantang, untuk bahasa apa pun? Saya membayangkan ini penting untuk perangkat lunak seperti pembaca layar untuk tuna rungu. Hal semacam ini juga muncul ketika Anda mendiskusikan kode dengan seseorang, meninjaunya dalam kelompok, atau mengajar kelas.
Dalam keluarga bahasa C, ada banyak kata dengan pengucapan "jelas". Beberapa hanya kata-kata bahasa Inggris: for
, break
, case
, default
, dll Beberapa singkatan, seperti int
, yang ambigu. Lalu ada char
.
Saya selalu cenderung mengatakannya (dan mendengarnya di kepala saya) seperti suku kata pertama "arang". Itu menggelegar bagi saya saat pertama kali saya berbicara tentang kode dengan seseorang yang mengucapkannya seperti "mobil", yang sebenarnya lebih masuk akal karena char
sebenarnya merupakan singkatan dari kata "karakter", jadi jelas itu harus diucapkan sama. Tetapi bahkan mengetahui itu, char-as-in-coal terasa lebih tepat bagi saya.
Dan kemudian ada pernyataan seperti foo = bar ? *(++baz) : zardoz
.
Adakah orang yang membuat dokumen yang mendikte cara yang benar (menurut mereka) cara membaca kode dengan keras? Baik untuk bahasa tertentu atau mungkin kode secara umum?
sumber
:=
?Jawaban:
Coverall cepat: baca artikel hebat ini di Coding Horror
Setiap kali saya membahas kode melalui telepon, saya tidak pernah membacanya secara harfiah. Anda harus "mengkompilasi" ke manusia, dan jika masih ada kebingungan di ujung lain dari garis, Anda dapat bergerak menuju pembacaan yang lebih literal. Misalnya, saya akan membaca contoh Anda sebagai
Saya telah menjadi telecommuter penuh waktu sejak pertengahan 90-an, jadi praktis semua interaksi saya dengan kolega saya telah melalui telepon atau cara tidak langsung lainnya. Sangat sering kita berbagi sesi layar (terminal) atau VNC (X). Selain persahabatan biasa, kami menghabiskan sepanjang hari berbicara tentang kode, desain, perencanaan, dll.
Ketika kita berbicara tentang kode, kita menggunakan jargon yang sangat terkait dengan jenis proyek yang sedang dikerjakan. Salah satu (banyak) alasan dibutuhkan begitu lama bagi anggota grup baru untuk berfungsi penuh adalah karena mereka pada dasarnya mempelajari bahasa baru setiap kali mereka bergabung dengan departemen / perusahaan baru.
Seperti yang saya katakan di atas, dan seperti yang telah dikatakan orang lain, kami mencoba berbicara setinggi mungkin sesuai untuk diskusi apa pun. Tapi kadang-kadang, Anda benar-benar harus hanya mengatakan kepada seseorang: "Ketikkan ini"
Bagaimana Anda mengatakannya? Yah, kita bisa memberikan enumerasi seperti ...
Ini adalah bagaimana "kita" mengatakan karakter-karakter ini. Untuk mendapatkan gambaran tentang keseluruhan kisaran kata "#" lihat halaman wiki untuk #
Jadi ada terlalu banyak variabilitas. Itu harus spesifik untuk bahasa yang Anda kodekan (sama seperti saya mengetik ini dalam bahasa Inggris untuk komunikasi manusia kita).
Tanpa konteks bahasa, Anda harus selalu kembali ke karakter dengan mengeja karakter. Jadi, kebanyakan orang yang saya kenal kembali ke apa pun yang oleh standar bahasa disebut sesuatu.
Masing-masing akan tersirat hanya dengan mengatakan "Set X ke ..." dalam konteks yang tepat. Bahkan jangan mulai dengan kode apa yang dibaca sebagai "adalah string X sama dengan string Y".
Jika Anda mengatakan "hash bang bin bash" atau "shebang bash", hampir semua orang akan tahu itu berarti "#! / Bin / bash". Jika mereka tidak melakukannya, mereka akan berkata, "Hah?", Dan Anda mundur sedikit "Di bagian atas file: Pound sign, tanda seru, slash, bin, slash, bash, newline". Jika mereka masih belum mendapatkannya, Anda mundur lagi: "Lihat keyboard di depan Anda? Lihat tombol" 3 "? Tanda di atas saat Anda menekan shift adalah tanda pound, itu."
Intinya:
sumber
#
atau a!
. Anda bahkan tidak mengatakan mengapa Anda mendiskusikan kode melalui telepon. Karena Anda mendapat suara terbanyak, bisakah Anda menyempurnakan jawaban Anda lagi?Saya tidak pernah menemukan standar apa pun untuk sintaksis bahasa yang berbicara dengan keras. Saya telah menemukan potongan kecil di mana seseorang telah menyatakan preferensi pribadi mereka sendiri, misalnya, merujuk ke "#! / Bin / sh" sebagai "Hash-bang slash bin slash SH" sebagai lawan dari "pound seru seruan-tebas BIN forward-slash SH "Yang kemudian mungkin mengasumsikan pendengar memiliki sedikit keakraban dengan konstruk.
Ada juga perbedaan besar dalam jumlah bahasa yang dapat dibaca dengan suara keras. Ambil contoh perbedaan antara Python yang cenderung lebih mudah untuk berbicara dengan lantang vs say Perl yang mengharuskan Anda untuk mengatakan banyak tanda baca atau menerjemahkan dari "$ var [20]" ke "elemen kedua puluh dari array var".
Pengalaman saya sendiri adalah bahwa itu sangat kontekstual berdasarkan alasan bagi saya perlu membaca kode dengan keras, tingkat pengetahuan pendengar dan bahasa yang dipertanyakan.
Dalam hal ulasan kode, saya lebih cenderung menjelaskan pernyataan daripada mencoba membacanya dengan keras karena biasanya lebih penting untuk menyampaikan arti atau proses berpikir daripada hanya membaca kode mentah kepada pendengar.
Ketika saya mencoba membuat seseorang mengetikkan baris kode C yang tepat ke dalam editor (misalnya saya sedang melihat-lihat bahu seorang programmer junior dan melihat bagaimana cara memperbaiki satu baris kode mereka), saya sering berakhir dengan mengeluarkan kode dalam kata kunci dan simbol seperti "jika ruang open-paren null double-sama dengan p close-paren ..." Pertukaran yang sama dengan pengembang yang lebih senior mungkin dimulai lebih seperti "Anda perlu memeriksa p menjadi nol di sini ... "
sumber
Berbicara tentang kode adalah salah satu saat pseudo-code menjadi sangat berguna.
Jika seseorang mulai memberi saya kode berdasarkan karakter, maka saya hanya akan memberitahu mereka untuk mengirimkannya kepada saya dan saya akan memberi tahu mereka apa yang saya pikirkan.
sumber
Jawaban singkat
Hal yang paling dekat dengan panduan pelafalan standar adalah entri untuk "ASCII" dalam Kamus Hacker (alias File Jargon ). Ini berisi tabel yang berasal dari "revisi 2.3 dari panduan pengucapan Usenet ASCII" yang tidak lagi mudah ditemukan secara online. Ada utas diskusi yang relevan, " Sebutkan karakter itu! " Pada
comp.misc
Mei-Juni 1991, yang menganggap Maarten Litmath mempertahankan dokumen aslinya. Utas mencatat bahwa nama "pintar" seperti "Donald Duck" untuk "&" dihilangkan dari dokumen yang lebih baru.sumber