Saya telah membuat modul di Magento 2 dan sekarang saya mencoba mengirimkannya di Magento Marketplace. Ekstensi saya telah lulus dari ulasan bisnis dan ulasan teknis tetapi saya menghadapi masalah dengan ulasan QA.
Saya menerima email dari Magento marketplace yang menyatakan bahwa saya memiliki duplikasi kode dalam ekstensi saya. Di bawah ini adalah contoh surat.
Masalah kualitas kode: CPD: Ekstensi ini berisi kode duplikat.
Ketika saya pergi ke produk saya di akun Marketplace, dan memeriksa laporan teknis, saya temukan di bawah.
Duplikat Kode Terdeteksi
Ekstensi ini berisi kode yang disalin langsung dari basis kode Magento. Ini merupakan pelanggaran langsung terhadap Bagian 3.1 dan 9.1b dari Perjanjian Pengembang Magento.
File: vendor/module/vendor-module-1.0.0.0/Block/Adminhtml/Module/Edit/Tab/Stores.php
Line: 58
File: magento/module-checkout-agreements/magento-module-checkout-agreements-100.0.6.0/Block/Adminhtml/Agreement/Edit/Form.php
Line: 122
File: magento/module-cms/magento-module-cms-100.0.7.0/Block/Adminhtml/Block/Edit/Form.php
Line: 100
File: vendor/module/vendor-module-1.0.0.0/Block/Adminhtml/Module/Renderer/Files.php
Line: 49
File: magento/framework/magento-framework-100.0.16.0/Data/Form/Element/Image.php
Line: 86
File: vendor/module/vendor-module-1.0.0.0/Model/ResourceModel/AbstractCollection.php
Line: 2
File: magento/module-cms/magento-module-cms-100.0.7.0/Model/ResourceModel/AbstractCollection.php
Line: 6
Apakah ada cara saya dapat memeriksa duplikasi kode pada pengaturan saya untuk menghindari masalah ini untuk ekstensi saya yang lain?
sumber
Berikut adalah beberapa deskripsi untuk perintah Magento 2 yang digunakan untuk memeriksa duplikasi kode.
Perintah untuk memeriksa duplikasi / copy-paste kode di bawah ini.
Perintah ini pertama-tama akan masuk ke
dev/tests/static
folder. Di sini Anda dapat melihat file deklarasi phpunit.xml.dist untuk suite tes ini.Dalam file ini, Anda akan menemukan kode di atas yang akan menentukan file mana yang akan dieksekusi untuk tes kode yang berbeda.
Untuk mempersempit Anda dapat melihat
PHP Coding Standard Verification
testsuite
Ini akan menjalankan file testsuite / Magento / Test / Php / LiveCodeTest.phpKetika Anda membuka file ini, Anda akan menemukan berbagai fungsi untuk memeriksa berbagai jenis masalah kode. Fungsi yang akan dieksekusi adalah
testCopyPaste
Di sini, Anda akan menemukan kode yang akan digunakan untuk daftar hitam file / folder dari pemeriksaan kode ini.
foreach
Fungsi ini akan memeriksa semua.txt
file yang ditambahkan di dev / test / static / testuite / Magento / Test / Php / _files / phpcpd / lokasi daftar hitam . Ini akan membaca file dan akan mengabaikan semua folder untuk dikecualikan dari proses deteksi kode copy paste.Setelah menambahkan semua file / folder daftar hitam ke kode, itu akan berjalan di bawah kode.
Kode ini akan menjalankan
run
fungsi dev / test / static / framework / Magento / TestFramework / CodingStandard / Tool / CopyPasteDetector.php file.Di sini, kode menambahkan semua
blacklisted
folder / file dalam--exclude
daftar.Setelah itu akan menjalankan
vendor/bin/phpcpd
perintah.Di sini, di perintah itu sendiri Magento miliki
mengecualikan semua
Test
file dengan kodeItu juga melewatkan semua duplikat kode yang kurang dari 13 baris dengan kode
Output untuk eksekusi perintah ini akan ditambahkan ke file yang didefinisikan dalam
testCopyPaste
fungsi. Nama file untuk deteksi salin-rekat adalah phpcpd_report.xml yang terletak di lokasi dev / tests / static / report .Setelah eksekusi berhasil dari perintah, output akan ditambahkan ke file laporan.
sumber