Rumah> Java> teks badan

Isu sonar: tentukan pemalar dan bukannya menyalin literal ini

WBOY
Lepaskan: 2024-02-10 08:15:08
ke hadapan
946 orang telah melayarinya

Masalah sonar sentiasa menjadi salah satu masalah yang sering dihadapi oleh pengaturcara dalam pembangunan PHP. Apabila bekerja dengan teks, ramai pembangun digunakan untuk menyalin dan menampal teks, tetapi terdapat beberapa masalah yang mungkin berlaku dengan berbuat demikian. Editor PHP Xiaoxin mencadangkan bahawa untuk mengelakkan masalah ini, adalah lebih baik untuk menentukan teks yang perlu digunakan semula sebagai pemalar. Ini bukan sahaja akan meningkatkan kebolehselenggaraan kod, tetapi juga mengurangkan kemungkinan ralat dan meningkatkan kualiti kod. Dalam artikel ini, kami akan membincangkan isu sonar secara terperinci dan menyediakan beberapa penyelesaian untuk membantu pembangun menangani masalah ini dengan lebih baik.

Kandungan soalan

Fail java dalam projek saya mempunyai baris log berikut 3 kali==

log.info( "Queuing workflow message with ID {} and shardedDatabaseId {}", workflowQueueMessageString, shardedDatabaseId);
Salin selepas log masuk

Ini menimbulkan masalah serius untuk sonar==

Tentukan pemalar dan bukannya mengulangi teks ini "Mesej aliran kerja baris gilir menggunakan id {} dan shardid {}" sebanyak 3 kali.

Saya dapat memahami sebab kesilapan ini. Tetapi rentetan sebenarnya bukan pemalar dan mempunyai ruang letak seperti {}. Jadi bagaimana untuk menyelesaikan isu pelaporan sonar ini dengan betul.

Penyelesaian

Rentetan ini ialahformatmesej log. Walaupun mesej itu sendiri tidak tetap, formatadalahtetap.

Hanya mengisytiharkannya (format) sebagai pembolehubah - muktamad, statik, apa sahaja yang sesuai dengan kes penggunaan.

String messageFormat = "Queuing workflow message with ID {} and shardedDatabaseId {}"; log.info(messageFormat, workflowQueueMessageString, shardedDatabaseId); ... log.info(messageFormat, workflowQueueMessageString, shardedDatabaseId); ... log.info(messageFormat, workflowQueueMessageString, shardedDatabaseId);
Salin selepas log masuk

Atas ialah kandungan terperinci Isu sonar: tentukan pemalar dan bukannya menyalin literal ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!