Summary

Bu kod açıklayıcı, yapıştırılan bir parçayı düz İngilizceye dönüştürür: dil, her fonksiyon ve adının ne önerdiği, döngüsel karmaşıklık puanı ve boş catch blokları, eval çağrıları ve kodlanmış sırlar gibi bayraklar. Kural tabanlı bir okuyucudur, dil modeli değil, bu nedenle yapıyı açıklar, amacı değil. Karmaşıklık McCabe ölçüsünü takip eder; fonksiyon başına 10 veya daha az önerilir. Analiz tarayıcınızda çalışır ve kodunuz hiçbir yere gönderilmez.

Kod Açıklama: Yapıştırın, Ne Yaptığını Anlayan Özet Alın

Bu ücretsiz kod açıklayıcı, tarayıcınızda bir kod parçasını okur ve fonksiyonlarını, karar yollarını, hata işlemesini ve uyarı işaretlerini gösterir, böylece satır satır okumadan nereden başlayacağınızı bilirsiniz.

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

Kod Açıklayıcı

Bir fonksiyon veya kısa bir dosya yapıştırın. Özet yazarken güncellenir. Hiçbir şey tarayıcınızı terk etmez.

Açıklama

    Kontrol Edilecek Şeyler

      Çıktıyı Okuma

      Özeti Nasıl Kullanırız

      1. 1

        Kod Parçasını Yapıştırın

        Bir fonksiyon veya bir dosya en iyi çalışır. Birkaç yüz satırdan sonra özet bir özetliğe dönüşür.

      2. 2

        Başlangıç Cümlesini Kontrol Edin

        Dili adlandırır, fonksiyonları sayar ve karmaşıklık puanı verir. 10'un üzerindeki bir puan, kodun aynı anda aklınızda tutamayacağınız kadar çok yola sahip olduğu anlamına gelir.

      3. 3

        Açıklamayı Okuyun

        Her fonksiyon bir satır alır: adının ne önerdiği, ne kadar uzun olduğu, kaç yolunun olduğu ve döngü, bekleme veya hata işleme yapıp yapmadığı.

      4. 4

        Bayrakları Önce Açın

        Araç boş bir hata işleyicisi veya kimlik bilgisi benzeri bir dize listeleiyorsa, oradan başlayın. Bunlar daha sonra size en çok zarar verme olasılığı olan satırlardır.

      Nasıl Çalışır

      Açıklayıcı Aslında Ne Ölçüyor

      Sözdiziminden Yapı

      Yorumları ve dizeleri kaldırır, ardından algıladığı dil için fonksiyon tanımlarını, içe aktarmaları, sınıfları, döngüleri ve dalları eşleştirir. Kodun ne için olduğu hakkında tahmin yok, yalnızca ne içerdiği.

      Doğrulayabileceğiniz Karmaşıklık

      Puan, döngüsel karmaşıklıktır: her if, döngü, case, catch ve mantıksal operatör için bir tane. Bu, bir lint aracının size vereceği sayıyı ve NIST yapılandırılmış test raporu bir fonksiyonu 10 veya daha az tutmayı önerir.

      Gerçek Hataları Eşleştiren Bayraklar

      Eval veya exec çağrıları, boş catch blokları, kodlanmış sırlar, TODO notları, dört seviye geçen iç içelik ve 40 satırın üzerindeki fonksiyonlar. Her kural, yanlış okunması kolay kodları işaret ettiği için vardır.

      Nerede Durur

      Bir kod parçası açıklayıcısı "burada ne var?" sorusunu yanıtlar, "neden burada?" değil

      Yeni bir mühendisinin sorduğu soru nadiren "bu döngü ne yapıyor?" değildir. "Faturalandırma hizmeti bu fonksiyonu neden çağırıyor ve başka kim buna bağımlı?" şeklindedir. Yapıştırılmış bir kod parçası buna yanıt veremez, çünkü cevap diğer dosyalarda bulunur. Bu araç ilk geçiş için yapılmıştır: açık bir fonksiyonunuz var, beş dakikanız var ve on satırlık bir yardımcı mı yoksa altı çıkış yollu bir karışıklık mı olduğunu bilmek istiyorsunuz. Bunu bir saniyede size verir ve riskin nerede olduğunu söyler. İkinci soru için tüm depo genelinde arama yapmanız gerekir. Bu, bir fonksiyonu okuma ve bir sistemin nasıl kablolu olduğunu anlama arasındaki fark ve onboarding zamanının çoğunun nerede geçtiğidir.

      • Bunu tek bir fonksiyonda veya dosyada kullanın, tüm hizmette değil
      • Bayrakları bulgular olarak değil, daha yakından bakmak için istemler olarak değerlendirin
      • Soru arayanlar ve bağımlılıklar hakkında olduğunda depo genelinde aramaya geçin
      Two engineers at a laptop, one pointing at a line of source code while the other reads along

      Kod Açıklayıcı Hakkında Sorular

      Bu kod açıklayıcı ücretsiz mi ve kodum tarayıcımı terk ediyor mu?
      Ücretsiz ve kaydolmaya ihtiyaç yok. Analiz tamamen tarayıcınızda düz JavaScript ile çalışır. Kod parçanız asla bir sunucuya gönderilmez, bu nedenle güvenlik incelemesi olmadan dahili kodu yapıştırabilirsiniz. Kaydedilen tek şey, aracın kullanıldığı anonim sayısıdır.
      Bu, kodum anlamakta olan bir AI modeli mi?
      Hayır. Bu kural tabanlı bir okuyucudur. Dili algılar, fonksiyonları, içe aktarmaları, dalları, döngüleri ve hata işlemesini bulur ve gördüğü adları ve yapıyı kullanarak açıklar. Bu onu hızlı ve tahmin edilebilir yapar, ancak amacı bilemez. Bir fonksiyon process() olarak adlandırılırsa ve şaşırtıcı bir şey yapıyorsa, araç bilemez.
      Karmaşıklık puanı nasıl hesaplanır?
      Karar noktalarını (if, elif, for, while, case, catch veya except, mantıksal ve/veya operatörler, üçlü) sayar ve birini ekler. Bu, McCabe'nin 1976'da önerdiği döngüsel karmaşıklık ölçüsüdür. 10 veya daha az puan, NIST yapılandırılmış test raporunun tek bir fonksiyon için önerdiği limittir.
      Hangi dilleri destekliyor?
      Python, JavaScript, TypeScript, Java, Go ve Rust. Otomatik algılama anahtar sözcüklere ve sözdizimi bakar. Kısa bir parça üzerinde yanlış tahmin ediyorsa, açılır menüden dili seçin. Diğer C tarzı diller genellikle çalışır, ancak fonksiyon algılaması daha az güvenilirdir.
      Neden boş catch blokları ve TODO yorumları gibi şeyleri işaretliyor?
      Bunlar, bir okuyucunun daha sonra en sık şaşırdığı yerlerdir. Boş bir catch başarısızlıkları gizler, bir TODO bilinen bir boşluğu işaretler ve uzun veya derin iç içe bir fonksiyon test etmesi zordur. Bayraklar daha yakından bakmak için istemler, verdikler değil.
      Bu ile AI sohbetine kodum hakkında sormak arasındaki fark nedir?
      Bir sohbet modeli amacı hakkında düşünebilir, ancak yalnızca yapıştırdığınız hakkında. Bu araç saniyeler içinde modeli olmayan yapıyı gösterir. İkisi de kod parçasının deponuzun geri kalanına nasıl bağlandığını bilemez. Bunun için tüm kod tabanını indeksleyen bir araca ihtiyacınız vardır.
      Bunu bir pull isteğini incelemek için kullanabilir miyim?
      Evet. İnceleyici seçeneğini seçin ve değiştirilen fonksiyonu yapıştırın. Dal sayıları, hata işlemesi ve kırmızı bayraklarla bir kontrol listesi alırsınız; bu, tam diff açmadan önce dikkatinizi nereye harcayacağınızı gösterir.

      Tüm depoyu anlaşın, sadece bir kod parçası değil

      codebasechat, her cevabı destekleyen dosyalar ve çağrı siteleri ile depo hakkındaki soruları düz İngilizce ile yanıtlar.