Dari masa ke masa, apabila projek terus berulang dan berubah, kebanyakan jurutera perisian akhirnya akan merasakan bahawa kod yang mereka tulis berada dalam keadaan tidak kemas. Kod ini sukar dibaca, dikekalkan, diuji dan dikembangkan, yang membawa banyak masalah kepada pembangunan seterusnya.
Pembangunan perisian adalah seni dan juga melibatkan banyak sains dan teknologi. Dalam proses mencipta dan mengekalkan asas kod yang besar, kita perlu mencari beberapa kaedah yang boleh dilaksanakan untuk mengekalkan kebolehbacaan dan kebolehselenggaraan kod tersebut. Artikel ini akan memperkenalkan cara menggunakan piawaian kualiti kod Komposer dan PHP untuk memfaktorkan semula kod untuk menyelesaikan masalah di atas.
Apakah Komposer?
Komposer ialah pengurus pakej dalam PHP yang menggunakan fail JSON untuk konfigurasi dan memuat turun kebergantungan daripada sumber seperti Packagist.
Pada masa lalu, kami mungkin telah menggunakan muat turun manual kod perpustakaan. Walau bagaimanapun, ini hanya menimbulkan lebih banyak sakit kepala untuk kami kerana kami perlu menjejaki kebergantungan dan lokasi fail secara manual. Komposer direka untuk menyelesaikan masalah ini.
Menggunakan Komposer, kita hanya perlu mencipta fail composer.json dalam direktori akar projek, termasuk nama dan versi perpustakaan yang bergantung kepada projek:
{ "require": { "vendor/library": "1.0.0" } }
Gunakan "composer install " perintah, Muat turun secara automatik semua kebergantungan dalam projek.
Komposer boleh memuatkan kebergantungan melalui mekanisme "autoload" tertentu, membolehkan kami menggunakan perpustakaan ini secara fleksibel dalam kod kami.
Arahan Komposer biasa:
Untuk pembangun PHP, terdapat dua standard kualiti kod yang biasa digunakan:
PHP_CodeSnifferPHP-CS-Fixerphpcs /path/to/my/code --standard=PSR2
php-cs-fixer fix /path/to/my/code --rules=@Symfony --verbose
Menggunakan piawaian kualiti kod Komposer dan PHP untuk pemfaktoran semula kod dalam projek boleh menjadikan kod kami lebih mudah untuk dikekalkan dan dikembangkan.
Seterusnya, kami akan mengambil contoh projek mudah sebagai contoh untuk menunjukkan cara menggunakan piawaian kualiti kod Komposer dan PHP untuk pemfaktoran semula kod.
Pertama, cipta projek PHP baharu dan gunakan Komposer untuk memasang kebergantungan.
composer require predis/predis
Di sini kami menggunakan Redis sebagai storan data luaran kami. Predis ialah klien PHP untuk Redis yang boleh dipasang dengan mudah menggunakan Komposer.
require 'vendor/autoload.php'; $client = new PredisClient(); $key = 'foo'; $value = 'bar'; $client->set($key, $value); echo $client->get($key); // 'bar'
Dalam kod contoh di atas, kami menggunakan Predis untuk menyambung ke Redis, tetapkan nilai kekunci 'foo' kepada 'bar' dan dapatkan nilai kunci. Walau bagaimanapun, kod ini akan menemui beberapa masalah selepas menghuraikannya dengan PHP_CodeSniffer.
Seterusnya, kami akan mencipta dan menggunakan peraturan untuk menyemak kod kami:
<?xml version="1.0"?> <ruleset name="Project"> <description>Custom rule set for Project</description> <rule ref="PSR2"> <exclude name="PSR2.Classes.PropertyDeclaration"/> <exclude name="PSR2.Methods.FunctionCallSignature"/> <exclude name="PSR2.ControlStructures.ElseIfDeclaration"/> <exclude name="PSR2.ControlStructures.SwitchDeclaration"/> <exclude name="PSR2.ControlStructures.ControlStructureSpacing"/> </rule> <rule ref="Generic.CodeAnalysis.MissingFunctionDocComment"/> <rule ref="Generic.Arrays.DisallowLongArraySyntax"> <properties> <property name="bracketSpacing" type="integer" value="1"/> </properties> </rule> <rule ref="Generic.Formatting.DisallowMultipleStatements"/> <rule ref="Generic.Functions.FunctionCallArgumentSpacing"/> <rule ref="Generic.Functions.FunctionCallSpace"> <exclude-detection name="array"/> <exclude-detection name="parenthesis"/> </rule> <rule ref="Generic.Files.LineLength"> <properties> <property name="lineLimit" type="integer" value="120"/> <property name="absoluteLineLimit" type="integer" value="120"/> <property name="ignoreComments" type="boolean" value="false"/> </properties> </rule> </ruleset>
Setelah kami menentukan peraturan kami, kami boleh menjalankan PHP_CodeSniffer menggunakan arahan berikut:
vendor/bin/phpcs ./src --standard=./phpcs.xml
Perintah ini akan menganalisis semua kod PHP di bawah direktori "src" dan melaporkan amalan yang tidak teratur. Seterusnya, kami akan menggunakan PHP-CS-Fixer untuk membetulkan semua masalah secara automatik.
vendor/bin/php-cs-fixer fix ./src
Arahan di atas akan membetulkan semua ralat pengekodan dan isu pemformatan secara automatik berdasarkan peraturan yang kami tetapkan.
Kini kami menjalankan PHP_CodeSniffer dan ia tidak akan melaporkan sebarang masalah.
Kami telah melengkapkan contoh pemfaktoran semula kod menggunakan piawaian kualiti kod Komposer dan PHP. Kami boleh mengautomasikan proses ini dengan menyepadukan PHP_CodeSniffer dan PHP-CS-Fixer ke dalam sistem penyepaduan berterusan kami.
Kesimpulan
Dalam artikel ini, kami mempelajari cara menggunakan piawaian kualiti kod Komposer dan PHP untuk pemfaktoran semula kod. Alat ini membantu kami menyusun kod kami dengan lebih baik dan memastikan ia berkualiti tinggi dan boleh diselenggara.
Walaupun artikel ini hanya menyentuh beberapa alatan, terdapat ekosistem lengkap yang boleh membantu kami mengautomasikan pemfaktoran semula dan ujian kod. Alat ini membolehkan kami menyampaikan kod berkualiti tinggi dengan lebih pantas sambil mengurangkan ralat dan gangguan.
Atas ialah kandungan terperinci Pemfaktoran semula kod menggunakan piawaian kualiti kod Komposer dan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!