Stlink: Bersihkan kode dengan tipe variabel terpadu

Dibuat pada 6 Apr 2020  ·  6Komentar  ·  Sumber: stlink-org/stlink

Sejauh yang saya bisa lihat, banyak fungsi menggunakan variabel dengan panjang tetap. Ini memang berguna untuk fungsi yang perlu menangani format data tetap. Namun penyalahgunaan variabel fixed-length menyebabkan potensi kegagalan build dan cast yang tidak penting.

Misalnya di src/usb.c:
image

send_recv menerima txsize dan rxsize sebagai size_t tetapi dalam konteks yang sebenarnya, argumen tersebut harus dilemparkan ke int atau unsigned int , tanpa panjang tetap, dan siapa pun yang menyebutnya memberikan argumen dari tipe yang berbeda( uint32_t atau angka ajaib dalam kasus ini). cast yang tidak disengaja dari 32 bit ke 64 bit diterapkan pada proses pemanggilan. Selain itu, untuk mencegah kegagalan build, diperlukan banyak cast eksplisit.

Saya sarankan mengganti variabel panjang tetap sesuai dengan penggunaan sebenarnya.
Tetap fuzzy agar lebih portabel.

Saya ingin mencobanya jika orang lain menganggapnya bermakna.

codfeedback codrefactoring needissuer-feedback

Semua 6 komentar

Thx untuk memasukkan ini ke dalam agenda. Karena ini adalah masalah umum di seluruh basis kode, saya tidak yakin saat ini apakah kita harus langsung memasukkannya ke v1.6.1. @martonmiklos sebelumnya meminta untuk melakukan pembersihan terkait dengan gaya kode, yang saya dorong ke tonggak v1.6.2. Mungkin ini akan menjadi tempat yang baik untuk masalah ini juga, meskipun itu akan mendorongnya sedikit lebih jauh.

Mungkin saya bisa melakukan pembersihan secara lokal terlebih dahulu dan menindaklanjuti proses pengembangan.😃

Tentu saja Anda bisa, tetapi pastikan untuk bercabang dari develop dan tetap mengikuti cabang ini, alih-alih master , yang tidak lagi digunakan untuk perubahan yang sering, tetapi hanya untuk rilis dan perbaikan terbaru.

Sehubungan dengan kompatibilitas antara ILP32, LLP64 dan LP64 saya pikir itu akan menjadi ide yang baik untuk mengganti tipe data long dengan int32_t , tetapi jika seseorang ingin mengesampingkan kejutan di masa depan terkait dengan konversi, kami dapat mempertimbangkan untuk pindah ke tipe integer lebar tetap sedapat mungkin...

@chenguokai : Saya akan menyerahkan ini kepada Anda. Anda dapat berkontribusi, jika Anda suka dan punya waktu.

Tentu saya akan melakukannya, sebelum rilis. Mulai sibuk sekarang.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

yosoufe picture yosoufe  ·  12Komentar

gcohara picture gcohara  ·  5Komentar

grzegorz-kraszewski picture grzegorz-kraszewski  ·  9Komentar

bolorkhuu picture bolorkhuu  ·  11Komentar

gorynch picture gorynch  ·  5Komentar