Standar Pengodean Untuk WordPress [Panduan]
Alasan kami memiliki standar pengkodean sama sekali (bukan hanya untuk WordPress) adalah untuk buat lingkungan yang akrab bagi programmer mengerjakan proyek. WordPress khususnya meliputi berbagai macam produk. Dari inti itu sendiri hingga tema dan plugin, ada banyak hal yang harus dilihat - dan banyak hal yang perlu dicampurkan.
Jika semua orang memformat kode mereka dengan cara yang sama, menggunakan komentar, gaya dokumentasi yang sama, dan sebagainya, bekerja bersama menjadi lebih mudah, dan kurva belajar bergabung dengan proyek baru tidak akan terlalu curam..
Kebutuhan akan kohesi di WordPress diperbesar oleh keadaan di mana basis kode. WordPress tidak mengikuti pendekatan berorientasi objek yang ketat dan tidak menggunakan pola MVC. Proyek yang mengikuti pedoman OOP dan MVC tanpa kecuali (seperti Laravel) memiliki konsistensi dan praktik terbaik “dipanggang” karena struktur mereka.
Sayangnya WordPress sudah matang untuk pengkodean spaghetti, alias melakukan apapun yang kamu mau. Praktik terbaik sulit ditegakkan hanya karena produk yang menggunakan kode buruk dapat bekerja dengan baik (di permukaan).
Dengan mengikuti Standar Pengodean WordPress, Anda dapat mempelajari sedikit tentang kode etos WordPress, membuat lebih banyak produk yang kompatibel dengan WordPress. perlihatkan komunitas yang Anda pedulikan dan Anda bertengkar kode berkualitas tinggi.
Lebih banyak tentang Hongkiat.com:
- 10 Mimpi Buruk Terburuk Untuk Pengembang Web
- 5 Alasan Mengapa CSS Bisa Menjadi Bahasa Paling Sulit Dari Semua
- 30 Reaksi Umum yang Dimiliki Programmer Ketika Sesuatu Menjadi Salah
Beberapa Catatan Tentang Standar
Standar tidak mendefinisikan benar dan salah. Anda mungkin tidak setuju dengan aturan, misalnya kawat gigi harus selalu digunakan, bahkan jika itu tidak diperlukan. Tujuan standar pengkodean WordPress bukan untuk memutuskan apakah Anda benar atau salah, itu untuk memutuskan bagaimana harus dilakukan di WordPress.
Standar tidak cocok untuk diperdebatkan. Penggunaan standar bukanlah tempat untuk mengambil sikap menentang gaya lekukan yang tidak Anda sukai. Jika ada sesuatu dalam standar pengkodean maka lakukan dengan cara itu. Pengembang WordPress akan menyukai Anda karenanya! Yang mengatakan, jika Anda tidak setuju dengan sesuatu di sana angkat suara Anda dan biarkan orang tahu. Itu selalu mungkin untuk melakukan hal-hal yang lebih baik tetapi Anda hanya harus mengubah gaya pengkodean Anda jika standar mengizinkannya.
Konsistensi terhadap retensi anal. Jika Anda berada di 10% terakhir dari proyek Anda dan Anda baru saja menemukan bahwa Anda telah menggunakan konvensi penamaan yang salah untuk kelas, jangan beralih di tengah jalan. Menurut pendapat pribadi saya, saya lebih suka membaca sesuatu yang konsisten salah daripada sesuatu yang kadang-kadang benar dan kadang tidak. Anda selalu dapat menulis skrip untuk mengubah hal-hal sekaligus, atau membaca kode Anda di akhir.
Mengikuti standar itu sulit! Menempatkan tanda kurung pada baris yang sama dengan fungsi sebagai gantinya garis di bawah ini cukup mudah, bahkan jika Anda sudah terbiasa menekan enter sebelumnya. Namun, ketika Anda perlu berpikir tentang 100 aturan kecil, seluruh proses menjadi sedikit rawan kesalahan. Terlepas dari sikap keras saya dalam mengikuti standar, saya sama bersalahnya dengan orang lain karena melakukan kesalahan. Pada akhirnya, indentasi yang salah bukanlah dosa yang tidak dapat dibatalkan. Cobalah yang terbaik untuk mengikuti semua aturan, Anda akan mempelajari semuanya tepat waktu.
Standar Pengodean WordPress
Saat ini WordPress memiliki empat panduan, satu untuk setiap bahasa utama yang digunakan: PHP, HTML, Javascript dan CSS. Mereka membentuk bagian dari badan pengetahuan yang lebih besar, Core Kontributor Handbook. Memeriksa semuanya akan memakan waktu cukup lama, jadi saya telah menyoroti beberapa cuplikan dari empat bahasa yang sering saya lihat orang salah.
PHP
PHP adalah bahasa utama dari WordPress dan merupakan bahasa yang diketik dengan sangat longgar yang membuatnya matang untuk regulasi.
Gaya Penguat
Kawat gigi start harus selalu diletakkan di ujung garis. Pernyataan terkait harus ditempatkan pada baris yang sama dengan penjepit penutupan sebelumnya. Ini paling baik ditunjukkan dengan contoh kode:
if (kondisi) // Do Something elseif (kondisi) // Do Something else // Do Something
Penggunaan Ruang Yang Murah Hati
Saya bukan penggemar kode terjepit (saya memiliki penglihatan yang buruk) jadi ini adalah salah satu yang saya sangat suka untuk menegakkan. Taruh spasi setelah koma, dan di kedua sisi logis, perbandingan, tali dan operator penugasan, setelah jika, elseif, untuk, untuk setiap dan beralih pernyataan dan sebagainya.
Lebih mudah untuk mengatakan di mana spasi tidak boleh ditambahkan! Satu-satunya saat Anda tidak perlu menambahkan spasi adalah kapan typecasting atau referensi array.
Pengecualian yang agak membingungkan untuk pengecualian adalah array di mana kunci array adalah variabel, dalam hal ini, gunakan spasi. Contoh ini harus memperjelas ini:
function 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'; mengembalikan $ final_array;
Konvensi Penamaan
Yang ini bisa sulit untuk terbiasa, terutama jika Anda berasal dari lingkungan yang berbeda. Pendeknya:
- Nama variabel seharusnya semua huruf kecil, kata-kata dipisahkan dengan garis bawah
- Nama kelas harus menggunakan kata-kata kapital dipisahkan oleh garis bawah. Akronim harus semuanya huruf besar
- Konstanta seharusnya semua huruf besar, ditusuk oleh garis bawah
- Nama file seharusnya semua huruf kecil, dipisahkan dengan tanda hubung
Kondisi Yoda
Kondisi penulisan sebaliknya selain Anda terbiasa akan mencegah kesalahan parsing. Terlihat agak aneh tapi ini kode yang lebih baik.
if ('Daniel' === $ name) echo 'Tulis artikel Anda akan';
HTML
HTML tidak memiliki banyak aturan yang terkait dengannya, saya bisa membuat cukup banyak untuk membuat hal-hal lebih modular. Hanya ada lima aturan yang perlu Anda ketahui saat menulis HTML:
- Kode Anda harus memvalidasi terhadap validator W3C.
- Tag HTML yang menutup sendiri harus memiliki tepat satu ruang sebelum garis miring (ini saya pribadi benci, tetapi ini adalah spesifikasi W3C, bukan hanya kencing hewan peliharaan WordPress)
- Atribut dan tag harus semuanya huruf kecil. Satu-satunya pengecualian adalah ketika nilai atribut dimaksudkan untuk konsumsi manusia, dalam hal ini mereka harus diketik secara alami.
- Semua atribut harus memiliki nilai dan harus dikutip (ditulis
tidak benar)
- Lekukan harus dicapai menggunakan tab dan harus mengikuti struktur logis.
CSS
CSS adalah bahasa yang diketik secara longgar sehingga ada banyak pekerjaan yang harus dilakukan di sini juga. Meski begitu, standar berjalan cukup mudah pada coders.
Penyeleksi
Selektor harus memenuhi syarat yang diperlukan, dapat dibaca secara manusiawi, semuanya huruf kecil dengan kata-kata yang dipisahkan dengan tanda hubung, dan selektor atribut harus menggunakan tanda kutip ganda. Berikut ini contoh ringkas:
input [type = "text"], input [type = "password"], .name-field background: # f1f1f1;
Pemesanan Properti
Standar mengakui perlunya ruang pribadi di sini karena mereka tidak menentukan urutan tertentu untuk aturan CSS. Apa yang mereka melakukan katakan adalah bahwa Anda harus mengikuti struktur semantik itu masuk akal. Kelompokkan properti berdasarkan hubungan mereka atau kelompokkan menurut abjad, tapi jangan menuliskannya secara acak.
Penyebab terbesar untuk keacakan adalah “oh saya juga perlu menambahkan margin” dan kemudian melanjutkan untuk menambahkannya ke bawah. Ambil ekstra 0,3 detik dan tambahkan aturan di tempat logis.
- Tampilan
- Penentuan posisi
- Model kotak
- Warna dan Tipografi
- Lain
.profile-modal display: block; posisi: absolut; 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 mengikuti panduan, itu masih lebih baik daripada terkadang melihat spasi sebelum nilai; terkadang menggunakan steno, kadang tidak; terkadang menggunakan unit pada nilai 0, kadang tidak, dll.
Pemformatan nilai cukup rumit tetapi itu memang datang secara alami dengan beberapa latihan. Lihatlah panduan yang tepat di Codex untuk memformat nilai Anda.
Javascript
Dalam pengalaman saya, Javascript paling rentan terjadi di semua tempat. Sementara banyak pengembang tahu sejumlah besar Javascript itu dipelajari secara bertahap, sebagai renungan untuk HTML, CSS dan PHP. Ketika Anda baru memulai dengan bahasa baru, Anda membuat lebih banyak kesalahan dan jika kesalahan itu tidak menyebabkan kesalahan fatal, mereka bisa menjadi tertanam dalam diri Anda..
Dalam banyak kasus standar mengacu pada batas garis atau negara “jika suatu garis tidak terlalu panjang”. Ini merujuk pada Panduan Gaya jQuery yang memaksakan a Batas 100 karakter pada garis. Panduan WordPress didasarkan pada panduan jQuery, jadi sebaiknya baca juga.
Titik koma
Ini adalah aturan yang paling sederhana tetapi merupakan aturan yang sering diabaikan. Jangan pernah, hilangkan tanda titik koma hanya karena kode Anda akan berfungsi tanpanya. Itu hanya ceroboh.
Indentasi
Tab harus selalu digunakan untuk indentasi. Anda juga harus membuat indentasi konten penutupan bahkan jika isi seluruh file terkandung di dalamnya. Saya tidak yakin mengapa tetapi penutupan tingkat atas yang tidak diindentifikasi menyadap saya bahkan sebelum saya membaca standarnya.
Memecah garis
Saat memutus string panjang, selalu patahkan garis setelah operator, jangan biarkan variabel berkeliaran. Ini membuat jelas pada pandangan pertama bahwa garis terputus dan Anda tidak hanya lupa tanda titik koma.
Juga, jika suatu kondisi panjang, pecah menjadi beberapa baris dan tambahkan tab tambahan sebelum itu. Yang satu ini terlihat sangat aneh di mata saya tetapi pemisahan yang ditambahkannya antara kondisi dan tubuh sangat terlihat.
if (firstCondition () && secondCondition () && thirdCondition ()) var html = 'Baris ini terdiri dari kata-kata' + n + ', sehingga harus dipecah setelah' + 'operator';
Iterasi jQuery
Menurut iterasi standar jQuery (jQuery.each ())
seharusnya hanya digunakan pada objek jQuery. Anda harus menggunakan dasar untuk, untuk / dalam, sementara loop dalam Javascript untuk mengulangi koleksi lain.
Kesimpulan
Ada banyak yang perlu diperhatikan dan dicatat dan tidak ada cara seseorang dapat menerapkan semua ini dalam sekali jalan. Anda harus mengambil kode Anda sedekat mungkin dengan standar dan bekerja mengikuti mereka dengan tepat.
Menurutku konsistensi adalah aturan yang paling penting. Lebih baik secara konsisten melakukan sesuatu yang salah daripada beralih setengah jalan. Ini terutama berlaku untuk praktik pemformatan karena ini tidak memengaruhi fungsionalitas kode Anda dan - sebagian besar - dapat dengan mudah diubah batch nantinya.
Apakah Anda membenci elemen standar pengkodean, apakah menurut Anda ada sesuatu yang harus ditambahkan? Beri tahu kami di komentar!