Summary

Penerang kode ini mengubah cuplikan yang ditempel menjadi garis besar bahasa Inggris biasa: bahasa, setiap fungsi dan apa yang disarankan namanya, skor kompleksitas siklik, dan bendera seperti blok catch kosong, panggilan eval, dan rahasia hardcoded. Ini adalah pembaca berbasis aturan, bukan model bahasa, sehingga menggambarkan struktur daripada niat. Kompleksitas mengikuti ukuran McCabe, di mana 10 atau kurang per fungsi adalah batas yang direkomendasikan. Analisis berjalan di browser Anda dan kode Anda tidak pernah dikirim ke mana pun.

Tempel Kode, Dapatkan Penjelasan Kode dalam Bahasa Inggris yang Jelas

Penerang kode gratis ini memberikan penjelasan kode lengkap dari cuplikan Anda: membaca fungsi, jalur keputusan, penanganan kesalahan, dan bendera merah, sehingga Anda tahu harus mencari ke mana sebelum membaca baris demi baris.

Engineer reading unfamiliar code on a monitor with a notebook sketch of function boxes beside the keyboard

Penerang kode

Tempel fungsi atau file pendek. Garis besar diperbarui saat Anda mengetik. Tidak ada yang meninggalkan browser Anda.

Panduan

    Hal-hal yang perlu diperiksa

      Membaca output

      Cara menggunakan garis besar

      1. 1

        Tempel cuplikannya

        Satu fungsi atau satu file bekerja terbaik. Setelah beberapa ratus baris, garis besar berhenti menjadi ringkasan dan menjadi daftar.

      2. 2

        Periksa kalimat utama

        Ini memberi nama bahasa, menghitung fungsi dan memberikan skor kompleksitas. Skor di atas 10 berarti kode memiliki terlalu banyak jalur untuk dipegang di kepala Anda sekaligus.

      3. 3

        Baca panduan

        Setiap fungsi mendapat satu baris: apa yang disarankan namanya, berapa lama, berapa banyak jalur yang dimilikinya, dan apakah itu loop, menunggu, atau menangani kegagalan.

      4. 4

        Buka bendera terlebih dahulu

        Jika alat mencantumkan penangan kesalahan kosong atau string seperti kredensial, mulai dari sana. Ini adalah baris yang paling mungkin melukai Anda kemudian.

      Cara kerjanya

      Apa yang sebenarnya diukur penerang

      Struktur dari sintaks

      Ini menghapus komentar dan string, kemudian mencocokkan definisi fungsi, impor, kelas, loop, dan cabang untuk bahasa yang terdeteksi. Tidak ada tebakan tentang tujuan kode, hanya apa yang dikandungnya.

      Kompleksitas yang dapat Anda verifikasi

      Skornya adalah kompleksitas siklik: satu ditambah setiap if, loop, case, catch, dan operator boolean. Ini adalah hitungan yang sama yang akan diberikan linter, dan laporan pengujian terstruktur NIST menyarankan menjaga fungsi pada 10 atau di bawah.

      Bendera yang cocok dengan bug nyata

      Panggilan eval atau exec, blok catch kosong, rahasia hardcoded, catatan TODO, penyarangan melewati empat tingkat dan fungsi lebih dari 40 baris. Setiap aturan ada karena menunjuk pada kode yang mudah disalahbaca.

      Di mana ia berhenti

      Penerang cuplikan menjawab "apa yang ada di sini", bukan "mengapa ada di sini"

      Pertanyaan yang diajukan insinyur baru jarang "apa yang dilakukan loop ini". Itu adalah "mengapa layanan penagihan memanggil fungsi ini, dan siapa lagi yang bergantung padanya". Cuplikan yang ditempel tidak dapat menjawab itu, karena jawabannya ada di file lain. Alat ini dibangun untuk lintasan pertama: Anda memiliki fungsi terbuka, Anda memiliki lima menit, dan Anda ingin tahu apakah itu pembantu sepuluh baris atau kusut dengan enam jalur keluar. Ini memberi Anda itu dalam satu detik dan memberi tahu Anda di mana risiko itu. Untuk pertanyaan kedua Anda perlu mencari di seluruh repositori. Itulah celah antara membaca satu fungsi dan memahami bagaimana sistem terikat, dan di situlah sebagian besar waktu onboarding dihabiskan.

      • Gunakan pada fungsi atau file tunggal, bukan layanan seluruhnya
      • Perlakukan bendera sebagai cepat untuk melihat lebih dekat, bukan sebagai temuan
      • Beralih ke pencarian seluruh repo ketika pertanyaan tentang pemanggil dan ketergantungan
      Dua insinyur di laptop, satu menunjuk ke baris kode sumber sementara yang lain membaca bersama

      Pertanyaan tentang penerang kode

      Apakah penerang kode ini gratis, dan apakah kode saya meninggalkan browser saya?
      Itu gratis dan tidak memerlukan pendaftaran. Analisis berjalan sepenuhnya di browser Anda dengan JavaScript biasa. Cuplikan Anda tidak pernah dikirim ke server, sehingga Anda dapat menempel kode internal tanpa ulasan keamanan. Satu-satunya hal yang direkam adalah hitungan anonim bahwa alat digunakan.
      Apakah ini model AI yang memahami kode saya?
      Tidak. Ini adalah pembaca berbasis aturan. Ini mendeteksi bahasa, menemukan fungsi, impor, cabang, loop, dan penanganan kesalahan, dan menggambarkannya menggunakan nama dan struktur yang dilihatnya. Itu membuatnya cepat dan dapat diprediksi, tetapi tidak dapat mengetahui niat. Jika fungsi bernama process() dan melakukan sesuatu yang mengejutkan, alat tidak akan tahu.
      Bagaimana skor kompleksitas dihitung?
      Ini menghitung titik keputusan (if, elif, for, while, case, catch or except, boolean dan/atau operator, ternaries) dan menambah satu. Itulah ukuran kompleksitas siklik yang diusulkan McCabe pada tahun 1976. Skor 10 atau kurang adalah batasnya laporan pengujian terstruktur NIST merekomendasikan untuk fungsi tunggal.
      Bahasa apa yang didukung?
      Python, JavaScript, TypeScript, Java, Go dan Rust. Deteksi otomatis melihat kata kunci dan sintaks. Jika itu menebak salah pada cuplikan pendek, pilih bahasa dari dropdown. Bahasa gaya C lainnya sering bekerja, tetapi deteksi fungsi kurang dapat diandalkan.
      Mengapa itu menandai hal-hal seperti blok catch kosong dan komentar TODO?
      Itu adalah tempat di mana pembaca paling sering terkejut kemudian. Catch kosong menyembunyikan kegagalan, TODO menandai celah yang diketahui, dan fungsi yang panjang atau bersarang dalam sulit diuji. Bendera adalah cepat untuk melihat lebih dekat, bukan putusan.
      Apa perbedaan antara ini dan menanyakan obrolan AI tentang kode saya?
      Model obrolan dapat bernalar tentang niat, tetapi hanya tentang apa yang Anda tempel. Alat ini menunjukkan struktur dalam hitungan detik tanpa model yang terlibat. Tidak satu pun tahu bagaimana cuplikan terhubung ke sisa repo Anda. Untuk itu Anda memerlukan alat yang telah mengindeks seluruh codebase.
      Bisakah saya menggunakannya untuk meninjau permintaan tarik?
      Ya. Pilih opsi pengulas dan tempel fungsi yang diubah. Anda mendapatkan daftar periksa dengan hitungan cabang, penanganan kesalahan, dan bendera merah, yang memberi tahu Anda di mana harus memusatkan perhatian sebelum membuka diff penuh.

      Pahami seluruh repo, bukan hanya satu cuplikan

      codebasechat menjawab pertanyaan tentang codebase Anda dalam bahasa Inggris biasa, dengan file dan situs panggilan yang mendukung setiap jawaban.