Standard Pengekodan Untuk WordPress [Panduan]
Alasan bahawa kami mempunyai standard pengekodan sama sekali (bukan hanya untuk WordPress) mewujudkan persekitaran yang biasa untuk pengaturcara bekerja pada projek. WordPress khususnya merangkumi pelbagai produk. Dari inti itu sendiri kepada tema dan plugin, ada banyak yang perlu dilihat - dan banyak untuk bercampur.
Jika semua orang memformat kod mereka dengan cara yang sama, menggunakan komen, gaya dokumentasi yang sama dan sebagainya, bekerjasama menjadi lebih mudah, dan keluk pembelajaran untuk menyertai projek baru tidak akan menjadi curam.
Keperluan untuk perpaduan di WordPress dibesarkan oleh negara di mana kod tersebut adalah. WordPress tidak mengikuti pendekatan berorientasikan objek yang ketat dan tidak menggunakan corak MVC. Projek yang mengikuti garis panduan OOP dan MVC tanpa pengecualian (seperti Laravel) mempunyai konsistensi dan amalan terbaik “dibakar” kerana strukturnya.
WordPress malangnya masak untuk kod spaghetti, alias melakukan apa sahaja yang anda mahu. Amalan terbaik sukar untuk dikuatkuasakan semata-mata kerana produk yang menggunakan kod buruk mungkin berfungsi dengan baik (di permukaan).
Dengan mengikuti Standard Pengekodan WordPress anda boleh belajar sedikit tentang etos koding WordPress, membuat lebih banyak produk WordPress yang serasi. tunjukkan komuniti yang anda pedulikan dan anda bertengkar dengan kod berkualiti tinggi.
Lebih lanjut mengenai Hongkiat.com:
- 10 Mimpi Ngeri Terburuk Untuk Pembangun Web
- 5 Alasan Mengapa CSS Boleh Menjadi Bahasa Yang Paling Sukar
- 30 Pemrogram Reaksi Biasa Memiliki Apabila Perkara Tidak Salah
Beberapa Nota Mengenai Piawaian
Piawaian tidak menentukan hak dan salah. Anda mungkin tidak bersetuju dengan peraturan, contohnya pendakap harus selalu digunakan, walaupun mereka tidak diperlukan. Tujuan piawaian pengekodan WordPress bukanlah untuk menentukan sama ada anda betul atau salah, ini untuk menentukan bagaimana ia perlu dilakukan di WordPress.
Piawaian itu bukan untuk perdebatan. Penggunaan piawaian bukanlah tempat untuk menentang gaya lekukan yang anda tidak suka. Jika ada sesuatu dalam standard pengekodan maka lakukan dengan cara itu. Pemaju WordPress akan menyukai anda! Yang berkata, jika anda tidak bersetuju dengan sesuatu di dalamnya, anda dapat meningkatkan suara anda dan membiarkan orang tahu. Ia sentiasa mungkin untuk melakukan perkara yang lebih baik tetapi anda hanya perlu menukar gaya pengekodan anda jika piawaian membenarkannya.
Ketekalan terhadap ketegangan dubur. Sekiranya anda berada dalam 10% terakhir projek anda dan anda baru saja mendapati bahawa anda telah menggunakan konvensyen penamaan yang salah untuk kelas, jangan bertukar arah tengah. Dalam pendapat peribadi saya, saya lebih suka membaca sesuatu secara konsisten salah daripada sesuatu yang kadangkala betul dan kadang-kadang tidak. Anda sentiasa boleh menulis skrip untuk mengubah sesuatu dalam satu masa, atau membaca kod anda pada akhir.
Berikutan piawaian adalah sukar! Meletakkan penjepit pada garisan yang sama dengan fungsi sebaliknya garisan di bawah cukup mudah, walaupun jika anda digunakan untuk memasuki masukkan sebelum ini. Walau bagaimanapun, apabila anda perlu memikirkan kira-kira 100 peraturan kecil, keseluruhan proses menjadi agak rawan ralat. Walaupun pendirian saya yang tegas pada piawaian berikut saya bersalah kerana orang lain melakukan kesilapan. Pada akhir hari, lekukan yang salah bukan merupakan dosa yang tidak dapat dibatalkan. Cuba yang terbaik untuk mengikuti semua peraturan, anda akan belajar segala-galanya dalam waktunya.
Standard Pengekodan WordPress
Sekarang WordPress mempunyai empat panduan, satu untuk setiap bahasa utama yang digunakan: PHP, HTML, Javascript dan CSS. Mereka membentuk sebahagian daripada pengetahuan yang lebih besar, Buku Panduan Teras Terlibat. Melangkah segala-galanya akan mengambil sedikit masa jadi saya telah menyerlahkan beberapa coretan dari empat bahasa yang saya sering melihat orang menjadi salah.
PHP
PHP adalah bahasa utama WordPress dan merupakan bahasa yang agak ketinggalan yang menjadikannya masak untuk peraturan.
Gaya Brace
Permulaan pendakap harus sentiasa diletakkan di akhir baris. Kenyataan yang berkaitan harus diletakkan pada baris yang sama seperti pendakian penutupan sebelumnya. Ini ditunjukkan dengan contoh kod yang terbaik:
jika (keadaan) // Do Something elseif (keadaan) // Do Something else // Do Something
Penggunaan Angkasa Beragama
Saya bukan seorang peminat penggodam kod (saya mempunyai penglihatan yang buruk) jadi ini adalah salah satu yang saya suka untuk menguatkuasakan. Letakkan ruang selepas koma, dan di kedua-dua belah logik, perbandingan, tali dan pengendali tugasan, selepas jika, lainif, untuk, untuk setiap dan suis penyataan dan sebagainya.
Lebih mudah untuk mengatakan di mana ruang tidak perlu ditambah! Satu-satunya kali anda tidak perlu menambah ruang adalah ketika typecasting atau rujukan tatasusunan.
Pengecualian yang agak mengelirukan untuk pengecualian ialah tatasusunan di mana Kunci array adalah pemboleh ubah, dalam kes ini, gunakan ruang. Contoh ini harus jelaskan:
fungsi my_function ($ complete_array = null, $ key_1 = 4, $ key_2 = 'bar') if (null == $ complete_array) $ final_array = $ complete_array; else $ key_1 = (integer) $ key_1; $ final_array [0] = 'ini'; $ final_array [$ key_1] = 'is'; $ final_array [$ key_2] = 'an'; $ final_array ['last'] = 'example'; kembali $ final_array;
Menamakan Konvensyen
Ini boleh menjadi sukar untuk digunakan terutamanya jika anda datang dari persekitaran yang berbeza. Secara ringkas:
- Nama berubah-ubah sepatutnya semua kes kecil, kata-kata yang dipisahkan dengan garis bawah
- Nama kelas harus digunakan kata kapital dipisahkan dengan garis bawah. Akronim sepatutnya semua huruf besar
- Pemalar sepatutnya semua huruf besar, dibesar-besarkan oleh garis bawah
- Nama fail sepatutnya semua kes kecil, dipisahkan dengan sengkang
Keadaan Yoda
Syarat penulisan cara lain di sekeliling daripada yang anda gunakan akan menghalang kesilapan parsing. Ia kelihatan agak pelik tetapi ia adalah kod yang lebih baik.
jika ('Daniel' === $ name) echo 'Write article you will';
HTML
HTML tidak mempunyai banyak peraturan yang berkaitan dengannya, saya boleh membuat banyak perkara untuk menjadikan perkara lebih modular. Terdapat hanya lima peraturan yang perlu anda ketahui semasa menulis HTML:
- Kod anda mesti sahkan terhadap pengesah W3C.
- Tag HTML sendiri menutup mesti mempunyai satu ruang sebelum slash ke hadapan (ini adalah satu yang saya benci secara peribadi, tetapi ia adalah satu spesifikasi W3C, bukan sekadar pengebumian haiwan kesayangan WordPress)
- Atribut dan tag mesti semua huruf kecil. Satu-satunya pengecualian adalah apabila nilai atribut dimaksudkan untuk penggunaan manusia, dalam hal ini mereka harus ditaip secara semula jadi.
- Semua atribut mesti mempunyai nilai dan mesti dipetik (menulis
tidak betul)
- Indentation harus dicapai menggunakan tab dan harus mengikut struktur logik.
CSS
CSS adalah satu lagi bahasa ditaip yang panjang sehingga terdapat banyak kerja yang perlu dilakukan di sini juga. Walau begitu, piawaiannya cukup mudah di coders.
Pemilih
Pemilih mestilah berkelayakan sebagaimana perlu, boleh dibaca secara manusia, semua huruf kecil dengan kata-kata yang dipisahkan dengan sengkang, dan pemilih sifat harus menggunakan petikan berganda. Berikut adalah contoh ringkas:
input [type = "text"], input [type = "password"], .name-field background: # f1f1f1;
Perintah Harta
Piawaian mengenal pasti keperluan untuk beberapa ruang peribadi di sini kerana mereka tidak menetapkan perintah tertentu untuk peraturan CSS. Apa mereka buat katakanlah bahawa anda harus mengikuti struktur semantik itu masuk akal. Sifat kumpulan mengikut hubungan mereka atau kumpulan mereka secara abjad, hanya jangan tulis mereka secara rawak.
Penyebab terbesar bagi rawak adalah “oh saya juga perlu menambah margin” dan kemudian meneruskan untuk menambahnya ke bahagian bawah. Ambil tambahan .3 saat dan tambahkan aturan di tempat logik.
- Paparan
- Kedudukan
- Model kotak
- Warna dan Typography
- Lain-lain
.profile-modal display: block; kedudukan: mutlak; kiri: 100px; atas: 90px; latar belakang: # ff9900; warna: #fff;
Pemformatan Nilai
Ini adalah satu tempat di mana saya sangat benci melihat ketidakkonsistenan. Jika anda tidak mematuhi garis panduan, itu lebih baik daripada terkadang melihat ruang sebelum nilai; kadang-kadang menggunakan trik, kadang-kadang tidak; kadang-kadang menggunakan unit pada 0 nilai, kadang-kadang tidak, dan lain-lain.
Pemformatan nilai agak rumit tetapi ia datang secara semulajadi dengan beberapa amalan. Lihatlah panduan tepat dalam Codex untuk memformat nilai anda.
Javascript
Dalam pengalaman saya, Javascript paling cenderung untuk pergi ke seluruh tempat. Walaupun ramai pemaju mengetahui sejumlah besar Javascript, ia telah dipelajari secara beransur-ansur, sebagai pemikiran kepada HTML, CSS dan PHP. Apabila anda baru bermula dengan bahasa baru anda membuat lebih banyak kesilapan dan jika kesilapan itu tidak menyebabkan kesilapan yang membawa maut, mereka boleh menjadi ingrained dalam diri anda.
Dalam banyak kes, piawaian merujuk kepada had garis atau keadaan “jika garis tidak terlalu panjang”. Ini merujuk kepada Panduan Gaya jQuery yang mengenakan a Had 100 aksara pada baris. Panduan WordPress didasarkan pada panduan jQuery, jadi ia adalah idea yang baik untuk memberikan bacaan itu juga.
Titik kutu
Ini adalah peraturan paling mudah tetapi adalah yang sering diabaikan. Jangan sekali-kali, hilang titik koma hanya kerana kod anda akan berfungsi tanpa ia. Ia hanya ceroboh.
Mengemudikan
Tab harus sentiasa digunakan untuk indentasi. Anda juga harus inden kandungan penutupan walaupun kandungan keseluruhan file terkandung dalam satu. Saya tidak pasti kenapa penutupan peringkat teratas yang tidak disengajakan menyerang saya sebelum saya membaca piawaian.
Garis pemisah
Apabila melanggar rentetan panjang, sentiasa memecah garisan selepas pengendali, jangan tinggalkan pemboleh ubah yang berubah-ubah. Ini menjadikannya jelas sekilas bahawa garisan itu pecah dan anda tidak lupa melepaskan koma bernoktah.
Juga, jika keadaannya panjang, putuskannya menjadi beberapa baris dan tambahkan tab tambahan sebelum itu. Ini kelihatan sangat pelik pada mata saya tetapi pemisahan itu menambah antara keadaan dan tubuh sangat kelihatan.
jika (FirstCondition () && secondCondition () && thirdCondition ()) var html = 'Baris ini mengandungi perkataan' + n + ', jadi ia mesti dipecahkan selepas' + 'operator';
jQuery Iteration
Menurut standard jQuery lelaran (jQuery.each ())
hanya boleh digunakan pada objek jQuery. Anda perlu menggunakan asas untuk, untuk / dalam, sementara gelung dalam Javascript untuk melancarkan lebih banyak koleksi lain.
Kesimpulannya
Terdapat banyak yang perlu diperhatikan dan menjejaki dan tidak ada cara seseorang boleh memohon semua ini dalam satu perjalanan. Anda harus mengambil kod anda seberapa lama yang anda boleh ke standard dan bekerja mengikut mereka dengan tepat.
Pada pendapat saya konsistensi adalah peraturan yang paling penting. Adalah lebih baik untuk secara konsisten melakukan sesuatu yang salah daripada beralih separuh jalan. Ini amat sesuai dengan amalan pemformatan kerana ini tidak menjejaskan fungsi kod anda dan - untuk sebahagian besar - boleh dengan mudah berubah batch kemudian.
Adakah anda membenci elemen piawaian pengekodan, adakah anda fikir sesuatu harus ditambah? Marilah kita tahu dalam komen!