Inti WP, banyak plugin WP, dan standar pengkodean WP sendiri menggunakan sangat "aplikasi dermawan" dari Spacekarakter (bukan untuk lekukan, tetapi "di dalam" parens dan kurung). Ini tampaknya unik untuk Wordpress - gaya / filosofi ini tampaknya tidak hadir dalam proyek serupa lainnya, PHP atau lainnya.
Untuk informasi lebih lanjut tentang pendekatan ini, lihat: https://make.wordpress.org/core/handbook/coding-standards/php/#space-usage
Contoh: foreach ( (array) $foo as $bar ) { ...
Saya mengacu pada spasi setelah foreach, setelah yang pertama (
, dan sebelum final )
(dan spasi serupa lainnya yang ditampilkan dalam "Space Usage" pada tautan di atas).
Gaya ini sepertinya tidak perlu bagi saya - ini membutuhkan lebih banyak pengetikan dan (pendapat) membuat kode parsing secara visual lebih sulit. (/ Pendapat)
Keinginan saya bukanlah untuk berdebat apakah gaya ini adalah ide yang baik atau tidak. Sebaliknya, saya hanya ingin memahami motif mengapa ini adalah gaya yang direkomendasikan. Bahkan komentator pada standar pengkodean WP penasaran:
Jawaban yang diberikan untuk pertanyaan MK Safi pada dasarnya adalah:
- Agar mudah dibaca
- Status quo (alias "Begitulah adanya")
Alasan saya untuk bertanya adalah bahwa secara pribadi saya tidak melihat banyak nilai dalam mengadopsi standar pengkodean WP (mengenai "Penggunaan Ruang") dalam proyek internal kami saja. Namun, saya ingin tahu apakah saya kehilangan sesuatu.
Apakah ada alasan di luar dua yang tercantum di atas, seolah-olah valid atau tidak, untuk mengikuti gaya "Penggunaan Ruang" Wordpress?
sumber
Jawaban:
Resoning
Mengenai "ruang putih" (tidak peduli apakah tab atau spasi): Ini hanyalah preferensi pribadi yang terjebak dengan proyek.
Imo standar pengodean WP berantakan dan dapat diabaikan - selama Anda tidak berkontribusi pada inti
Alternatif
Anda lebih baik tetap dengan standar PSR (yaitu: 2) atau hal-hal seperti standar Symfony (atau hanya milik Anda sendiri).
Peningkatan Kinerja & Alat
Tidak ada keuntungan yang Anda peroleh dari memiliki standar pengkodean (selain memiliki satu untuk dibagikan dan minoritas yang membencinya, sementara sisanya mendikte itu) atau dari memiliki tab atau spasi lebih atau kurang. Jika Anda khawatir tentang ruang disk yang tidak perlu yang digunakan atau mungkin program yang lebih lambat, Anda masih dapat memampatkan kode Anda (lihat proyek GitPHPHooks ) di komit. Keuntungan yang akan Anda peroleh adalah sekitar 5% maks dari ruang file asli, hampir sama dengan apa yang diberikan oleh kompresi / minimalkan sintaksis HTML. Ada alat bantu Node.js yang tersedia melalui npm untuk itu.
Apa yang secara pribadi sangat bermanfaat bagi saya adalah PHP Linter dan _PHP Mess Detector. Saya memasukkan keduanya ke dalam Perpustakaan GitPHPHooks jadi saya tidak perlu berpikir atau peduli untuk menjalankannya.
sumber
Spasi setelah titik adalah normal, seperti
$baz . '-5'
, gaya ini digunakan dalam banyak standar pengkodean untuk operator (y + z
).Ini dilakukan untuk meningkatkan keterbacaan, misalnya salah satunya lebih mudah dibaca daripada yang lain.
Ini menjadi lebih jelas ketika dikelilingi dengan "kode" lainnya.
Adapun ruang di sekitar tanda kurung
( 1, 2, 3 )
saya tidak tahu, saya kira argumennya adalah untuk keterbacaan juga.Ini dapat membingungkan karena standar WordPress sendiri memiliki contoh dengan tanda kurung di komentar yang tidak memiliki spasi dan basis kode itu sendiri membingungkan dengan beberapa bagian memiliki ruang dan yang lainnya tidak (lihat tangkapan layar di bawah) bahkan dalam fungsi yang sama.
Sebagian besar standar PHP sebenarnya melakukan panggilan sebaliknya. Tanda kurung harus memeluk kontennya. Bahkan kebanyakan standar pengkodean untuk bahasa lain menuliskannya seperti:
(1, 2, 3)
jadi ini sedikit misteri mengapa WP melakukannya dengan cara ini.Berikut adalah contoh untuk membandingkan dari fungsi WordPress.
Versi yang lebih besar untuk dibandingkan: http://i.imgur.com/nTEbV7v.jpg
Saya lebih suka yang di sebelah kanan terutama ketika melihat kode layar penuh, tapi itu pilihan pribadi.
sumber
.
spasi masuk akal bagi saya, karena.
benar-benar hanya operator biner, seperti+
atau-
. Pikiran Anda tentang tanda kurung "memeluk" isinya persis mengapa saya mengajukan pertanyaan ini. Perilaku ini, bersama dengan aturan yang bahkan lebih aneh seperti untuk tanda kurung (WP mengatakan untuk menggunakan$foo['bar']
dan$foo[ $bar ]
) adalah persis mengapa saya menanyakan pertanyaan ini. :)