Setelah satu jam membaca laporan saya menemukan daftar berikut, ini bisa bermanfaat untuk semua orang yang saya kira.
Saya akan mencoba memperbaruinya segera setelah saya menemukan lebih banyak peringatan / kesalahan:
Peringatan
Baris melebihi 80 karakter; berisi karakter X
Atau
Baris melebihi batas maksimum 100 karakter; berisi karakter X
Itu adalah salah satu yang paling sering saya lihat, mereka cukup jelas, itu adalah praktik yang baik untuk menjaga garis pengkodean kecil untuk menjaga kode yang bersih dan mudah dibaca.
Tidak ada ruang yang ditemukan setelah koma dalam panggilan fungsi
Anda telah memanggil fungsi yang menerima parameter dan tidak menambahkan spasi setelah koma. Contoh: strrchr($bla,".")
seharusnyastrrchr($bla, ".")
Diharapkan \ "while (...) {\ n \"; ditemukan \ "while (...) \ n {\ n \"
Diharapkan \ "foreach (...) {\ n \"; ditemukan \ "foreach (...) \ n {\ n \"
Diharapkan \ "jika (...) {\ n \"; ditemukan \ "jika (...) \ n {\ n \"
Diharapkan \ "} else {\ n \"; ditemukan \ "} \ n lain {\ n \"
Itu berarti Anda telah mengembalikan garis sebelum braket pembuka dari pernyataan PHP tersebut.
Contoh sintaks yang buruk dengan pernyataan if / else:
if (true)
{
}
else
{
}
Seharusnya
if (true) {
} else {
}
Tanda kurung penutup dan kurung buka deklarasi fungsi multi-baris harus berada di baris yang sama
Sebagian besar waktu, itu terjadi di konstruktor di mana Anda menyatakan sesuatu seperti ini:
public function __construct(
ProductFactory $productFactory,
Test $test
)
{
}
Padahal seharusnya:
public function __construct(
ProductFactory $productFactory,
Test $test
) {
}
Karakter akhir baris tidak valid; diharapkan \ "\ n \" tetapi ditemukan \ "\ r \ n \"
Sering terjadi di awal file, itu disebabkan oleh cara IDE Anda mengkodekan karakter kembali.
Variabel \ "your_variable \" tidak dalam format topi unta yang valid
Setiap variabel harus menggunakan format topi unta, demikian juga $your_variable
seharusnya$yourVariable
Variabel \ "one2Three \" berisi angka tetapi ini tidak disarankan
Hindari menggunakan angka dalam variabel Anda
Struktur kontrol sebaris tidak diizinkan
Anda tidak boleh menggunakan struktur kontrol sebaris seperti:
else $test = true;
Kamu harus menggunakan:
else {
$test = true;
}
Pembukaan brace suatu kelas harus ada di garis setelah definisi
Anda telah mengembalikan garis ketika mendeklarasikan kelas:
class Test
{
Anda harus menjaga brace pembuka pada baris yang sama:
class Test {
Variabel anggota pribadi \ "yourVariable \" harus berisi garis bawah utama
Variabel anggota yang dilindungi \ "yourVariable \" harus mengandung garis bawah utama
Anda harus menambahkan garis bawah utama ke variabel anggota yang dilindungi dan pribadi: $_yourVariable
Sebagai kebalikan dari keduanya, jika Anda menambahkan garis bawah dalam variabel publik Anda, Anda bisa mendapatkan:
Variabel anggota publik \ "_ yourVariable \" tidak boleh berisi garis bawah utama.
Parameter metode $ bla tidak pernah digunakan
Anda telah mengirimkan parameter ke suatu metode tetapi Anda tidak pernah menggunakannya.
Deklarasi fungsi multi-baris tidak membuat indentasi benar; diharapkan 8 spasi tetapi ditemukan X
Anda telah menambahkan terlalu banyak lekukan ke parameter deklarasi fungsi Anda:
public function __construct(ProductRepository $productRepository,
ListsInterface $listsInterface,
Data $helper
) {
Seharusnya:
public function __construct(ProductRepository $productRepository,
ListsInterface $listsInterface,
Data $helper
) {
Kemungkinan metode sia-sia terdeteksi
Anda mengganti metode tanpa menambahkan modifikasi, contoh:
public function __construct(Context $context) {
parent::__construct($context);
}
Model memuat metode LSD () terdeteksi dalam loop
Anda menggunakan load()
metode di dalam perulangan yang tidak direkomendasikan dan harus dihindari.
Kemungkinan besar kode Anda terlihat seperti ini:
foreach(...) {
$model->load();
}
Jika Anda memuat model dalam satu lingkaran, itu memang sangat buruk dalam hal kinerja. Jika Anda hanya perlu mengambil beberapa atribut, Anda harus menggunakan koleksi saja.
Kompleksitas siklomatik fungsi (X) menunjukkan 10; pertimbangkan refactoring fungsi
Jika Anda tidak terbiasa dengan kompleksitas cyclomatic, saya sarankan Anda membaca di posting ini: https://pdepend.org/documentation/software-metrics/cyclomatic-complexity.html . Peringatan ini pada dasarnya berarti bahwa ada terlalu banyak loop dan kondisi dalam fungsi Anda.
Instansiasi objek langsung tidak disarankan di Magento 2
Ini disebabkan oleh kenyataan bahwa Anda membuat instance objek secara langsung dengan memanggil kelas, misalnya:
new \Zend_Filter_LocalizedToNormalized
Anda harus menggunakan injeksi ketergantungan atau pilihan terakhir, manajer objek.
Komentar mengacu pada tugas TODO
Salah satu komentar Anda berisi @TODO
bendera berikut .
Hindari pernyataan IF yang selalu benar atau salah
Anda telah membuat kondisi yang tampaknya selalu benar atau salah.
Sebagai contoh:
$variable = "6";
...
// More code that doesn't change $variable
...
if ($variable)
Kesalahan
Namespace untuk kelas \ "Kelas \" tidak ditentukan.
Anda kehilangan use Path\To\Class;
pernyataan di awal kelas Anda.