Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pemfaktoran semula kod menggunakan piawaian kualiti kod Komposer dan PHP

Pemfaktoran semula kod menggunakan piawaian kualiti kod Komposer dan PHP

WBOY
WBOYasal
2023-06-19 20:40:361374semak imbas

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:

  • pemasangan komposer: pasang semua dependensi dalam persekitaran setempat; memerlukan: Tambahkan perpustakaan bergantung pada projek;
  • Sekarang kami telah memahami penggunaan asas Komposer, seterusnya, kami akan menggunakan piawaian kualiti kod PHP untuk mengoptimumkan kod kami.
  • Apakah standard kualiti kod PHP?
  • Piawaian kualiti kod dipersetujui peraturan pengekodan yang digunakan untuk memastikan kod kami mudah dibaca, mudah difahami dan mudah diselenggara.

Untuk pembangun PHP, terdapat dua standard kualiti kod yang biasa digunakan:

PHP_CodeSniffer

PHP-CS-Fixer

    PHP_CodeSniffer menganalisis kod mengikut peraturan tertentu dan kemudian memaparkan amalan buruk dalam kod. Sebelum menggunakan PHP_CodeSniffer, kami perlu menentukan peraturan yang mematuhi piawaian pengekodan kami. Peraturan ini boleh menjadi peraturan komuniti atau peraturan yang anda tentukan sendiri. Anda boleh melihat semua peraturan yang tersedia menggunakan arahan "phpcs -i".
  • phpcs /path/to/my/code --standard=PSR2
  • PHPCS-Fixer ialah alat pemformatan kod automatik yang boleh membetulkan ralat tatabahasa dan ralat format dalam kod secara automatik. PHP-CS-Fixer ialah penormal automatik yang boleh membetulkan ralat sintaks dan ralat pemformatan dengan cepat dalam kod anda. Apabila anda melakukan kod, anda boleh menyepadukan PHP-CS-Fixer ke dalam perkhidmatan penyepaduan berterusan anda.
  • php-cs-fixer fix /path/to/my/code --rules=@Symfony --verbose
  • Bagaimana untuk menggunakan piawaian kualiti kod Komposer dan PHP untuk pemfaktoran semula kod?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn