Rumah >pembangunan bahagian belakang >C++ >Tab vs Spaces — Makefiles dalam C
Perdebatan tab vs ruang di kalangan pembangun berkisar pada kaedah pilihan untuk lekukan dalam kod. Penyokong 'Tab' berpendapat bahawa tab adalah betul dari segi semantik untuk lekukan, boleh disesuaikan dan lebih mudah diakses, terutamanya bagi mereka yang mengalami kecacatan penglihatan. Mereka mencadangkan menggunakan tab untuk lekukan dan ruang untuk penjajaran. Penyokong 'Spaces' menekankan ketekalan, kerana ruang memastikan pemformatan kod kelihatan sama merentas editor dan platform yang berbeza, mengelakkan isu dengan saiz tab berubah-ubah. Pendekatan ini selalunya diutamakan dalam persekitaran pasukan untuk mengekalkan penampilan kod seragam.
Tetapi jika anda memprogramkan dalam bahasa C dan perlu menggunakan Makefiles, tiada pilihan — anda mesti menggunakan ‘Tab’.
Keperluan untuk tab dalam Makefiles berasal daripada Stuart Feldman, pembangun Unix dan pencipta utiliti 'make'. Feldman memilih tab untuk membantu dalam membezakan antara arahan dan teks lain dalam Makefile. Khususnya, penghurai Lex yang digunakan dalam pelaksanaan awal 'buat' menghadapi kesukaran membezakan antara tab dan ruang, yang membawa kepada mandat untuk tab. Walaupun Feldman telah mengakui ini sebagai keputusan yang tidak optimum, konvensyen itu berterusan.
Tangkapan skrin di atas, menunjukkan Makefile. Contoh ini menggunakan ciri 'tunjuk simbol' dalam pad nota — dengannya anda dapat membezakan dengan jelas antara tab dan ruang — anak panah menunjukkan bahawa tab digunakan pada baris 8, 12 dan 16. Jika anda mengesot baris tersebut menggunakan ruang dan bukannya tab, program tidak akan berjalan — anda akan menerima ralat:
Makefile:line_number: *** pemisah tiada. Berhenti.
Jadi, sama ada anda lebih suka tab atau ruang apabila anda atur cara terpulang kepada anda. Tetapi jika anda bekerja dengan Makefiles dalam C, Stuart tidak memberi anda pilihan.
Jika anda belum melihat episod Silicon Valley di atas (S3 Ep6) — tonton, seperti keseluruhan siri ini, ia sangat menyeronokkan.
Ben Santora — Oktober
Atas ialah kandungan terperinci Tab vs Spaces — Makefiles dalam C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!